举例说明类变量和实例变量的区别

如题所述

类变量也叫静态变量,也就是在变量前加了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个回答  2008-05-05
public class A{
static int a=0;//类变量
public int b=0;//实力变量

}

public class B{
int c=A.a//此处调用A的类变量a赋给c,注意调用方式
A a=new A();
int d=a.b;//此处调用A的实例变量赋给d,注意调用方式,要先new.

}
第2个回答  2008-05-05
类变量又叫静态成员变量,它不需要创建对象就可以已经在内存中存在了。
类就像一份说明书,说明这种类的实例对象的规格。而在创建实例对象的时候,内存中会为每一个实例对象的每一个非静态成员变量开辟一段内存空间,用来存储这个对象所有的非静态成员变量值。即使两个不同的实例对象是属于同一个class类,但是它们的同名非静态成员变量在内存中占用的空间是不同的。
而静态成员变量也就是类变量不同。所有的实例对象都共用一个类变量,内存中只有一处空间是放这个类变量值的。因此,如果一个对象把类变量值改了,另外一个对象再取类变量值就是改过之后的了。
第3个回答  2008-05-05
如果是区别的话

类不可以调用实例变量 就这么简单....

Python里类变量和实例变量的区别
其实,从名字就能看出来,Python的类变量和实例变量的区别:类变量:是可在类的所有实例之间共享的值(也就是说,它们不是单独分配给每个实例的)。例如下例中,num_of_instance 就是类变量,用于跟踪存在着多少个Test 的实例。实例变量:实例化之后,每个实例单独拥有的变量。[python] view plain copy...

类变量和实例变量区别
1、是类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果。2、而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象。3、类变量是属于是所有对象的,用实例变量是属于某个对象的,类变量也叫静态变量,不需要通过创建实例就可以调用。4、实例变量需要通过对象来...

类变量和实例变量的区别是什么?
类变量和实例变量的区别:1、实例变量在类中声明,但在方法,构造函数或任何块之外。类变量(也称为静态变量)在 类中使用static关键字声明,但在方法,构造函数或块之外。2、使用关键字“new”创建对象时会创建实例变量,并在销毁对象时销毁。程序启动时会创 建静态变量,程序停止时会生成静态变量。3...

类变量和实例变量区别
7. 类变量可以通过对象名或者类名直接访问。而实例变量只能通过对象名访问,并且每个对象的实例变量是独立的,修改一个对象的实例变量不会影响其他对象的实例变量。

...类中的类变量,实例变量,局部变量到底有啥区别 ? 在什么场景下使用...
实例变量,如上代码示例所示,在构造方法中声明,如self.radius。此类变量在后续方法中可被调用,但不同实例的值会根据传入的不同参数而改变,说明每个实例对象可以独立改变其实例变量值。然而,直接在代码中硬编码常量如PI,如3.14,可能在后续需求变动时需要修改多个地方,不如将其定义为类变量来提高...

类变量和实例变量的区别是什么?
类变量也叫静态变量,也就是在变量前加了static 的变量;实例变量也叫对象变量,即没加static 的变量;区别在于:类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响...

JAVA举例说明类变量、实例变量、类方法、实例方法在声明和使用时的区别...
实例变量是类实例化后,系统为其创建的一个类的实例变量的拷贝,即一个实例拥有一个实例变量。类变量则是用static声明,系统为每个类变量分配一次存储空间。即所有的实例共享一个类变量。例如一个银行帐户(Account)是一个class的话,可以把他的利息设为类变量(static float interest),而持有人是...

Python里类变量和实例变量的区别
类变量定义在类的定义之后,实例变量则是以为self.开头。例如:class Foo(object):val1= 'aa'#类变量def __init__(self):self.val2 = 'bb' #实例变量val3= 'cc'#顺便设置的变量不知道属于什么变量print self.__class__.val1 #实例对象访问类变量的另一种方法实例对象可以访问类变量和实例...

java中类变量和实例变量的实质区别?
类变量或说静态变量跟实例变量是不一样的,不管为一个类创建了多少个对象,系统只为每个类变量分配一次存储空间。系统为类变量分配的内存是在执行main方法时马克-to-win, 就是在程序最最开始的时候(见下面StaticDemo的例子)。所有的对象共享了类变量。可以通过对象或者通过类本身来访问类变量。Static ...

类成员变量和实例成员变量分别指什么有什么区别(举例说明)?
如果你想访问temp属性,你就必须先创建一个Text的对象,才能访问:Text b = new Text();b.temp;这就是实例成员变量。而你想 访问number的话,不用创建Text的实例就可以访问,就像这样:Text.number.这就是类成员变量。主要区别就是访问是需不需要创建对象,而对于类成员变量,所有对象是共享一个...

相似回答