静态变量和实例变量的区别?

题目

静态变量和实例变量的区别?

参考答案和解析

java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量;另一种没有static修饰,为实例变量。
  在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
  在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量就会被分配空间,静态变量就可以被使用了。总之,实例变量必须创建对象后才可以通过这个对象来使用,静态变量则可以直接使用类名来引用。

类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
    类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
例:
public class A{
    static  int a = 0; //类变量
    private int b = 0; //实力变量
}

public class B{
    public void main (String[] args){
        A a1 = new A();
        A a2 = new A();
        a1.a = 3;  // 等同于 A.a = 3;
        a1.b = 4 ;
        System.out.println(a2.a); //结果为3
        //类变量是针对所有对象的,所以a1改变a,a2的a也改变
        System.out.println(a2.b); //结果为0
        //实例只改变自身的,所以a1对象的b改变,不影响对象a2的b变量
    }
}

 

静态变量,在内存中,是所有对象共享的,而实体变量是自己拥有自己的。实体变量需要通过类的实例对象来调用,而静态变量只需要类名就可以调用了。

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

如果局部变量与实例变量名同名,那么如何在局部变量的作用域内引用实例变量()

A.无法引用,必须更名使两者名字不同

B.在实例变量前加关键字this访问实例变量

C.在实例变量前加关键字super

D.不影响,系统可以自己区分


正确答案:B

第2题:

静态变量就是类变量,系统只为每个类分配一套类变量,所有的实例变量共享一套类变量。

A.错误

B.正确


参考答案:B

第3题:

静态变量与实例变量有什么区别?


参考答案:在语法上的区别:静态变量前要加static关键字,而实例变量前不加。在程序运行时的区别:实例变量必须创建对象后才可以通过这个对象来使用,静态变量可以直接使用类名来引用。

第4题:

关于实例变量、类变量、实例方法和类方法,下面说法错误的是()

A.实例方法可以访问实例变量和类变量。

B.类方法不能访问实例变量。

C.实例变量和类变量都可以通过类名访问。

D.类方法只能访问类变量。


正确答案:A

第5题:

下面有关静态方法的描述中,正确的是:

A、静态方法属于类,不属于实例

B、静态方法可以直接用类名调用

C、静态方法中,可以访问非静态的局部变量

D、静态方法中,可以访问静态的变量


正确答案:C

第6题:

java 语言的 【 12 】 可以使用它所在类的静态成员变量和实例成员变量 , 也可以使用它所在方法中的局部变量。


正确答案:

第7题:

类的静态成员与普通的对象成员之间有什么区别?()

A.类的所有对象共享一个静态成员

B.表态成员属于类,而普通成员属于对象

C.静态成员变量可以被类或普通成员访问到,但它们访问的静态成员变量实际不相同

D.静态成员函数只能访问静态成员变量,不能访问普通成员变量

E.静态成员变量就是值不会再变的成员变量


参考答案:A, B, C

第8题:

静态成员变量称为类变量,非静态成员变量称为实例变量,下列关于一个类的静态成员的描述中,不正确的是()

A.该类的对象共享其静态成员变量的值

B.静态成员变量可被该类的所有方法访问

C.该类的静态方法只能访问该类的静态成员变量

D.该类的静态数据成员变量的值不可修改


正确答案:D

第9题:

Java语言的______可以使用它所在类的静态成员变量和实例成员变量,也可以使用,占所在方法中的局部变量。


正确答案:内部类。
内部类。 解析:在一个类的内部嵌套定义的类称为内部类,内部类可以使用它所在类的静态成员变量和实例成员变量,也可以使用它所在的类的方法中的局部变量。

第10题:

实例方法中不能引用静态变量。


正确答案:错误

更多相关问题