类变量和实例变量

成员变量用来描述对象的属性,即静态特性。成员变量分为两种,即类变量和实例变量,用关键字static修饰的成员变量是类变量,不用static修饰的是实例变量。

例          calss  Test{

                      static int x;

                      int y;

}

其中x是类变量,y是实例变量

类变量和实例变量的区别:

1.关联性:类变量是与类相关的数据变量,类变量属于整个类的对象集合,不属于某个具体的对象;而实例变量仅仅是与相应的对象关联的变量,也就是说不同对象的实例变量不同,即分配不用的空间,改变其中的一个实例变量的值不影响其他对象的实例变量。

2.访问权限:类对象可以通过类名和对象名访问;而实例变量只能通过对象名来访问。

3.空间分配:当创建多个不同的对象时,这些对象吧将分配不同的内存空间,更准确地说,不同的对象的实例变量将分配不同的内存空间;而类对象不管创建多少个对象,类对象只有一个存储的内存空间,所有类对象都共享类对象。

4.生存周期:当java程序执行时,类的字节码文件被加载到内存,类对象就分配了相应的内存空间;而实例变量只有在创建时才被分配内存空间。

posted @ 2018-08-08 22:30  嘴角微微上扬  阅读(632)  评论(0编辑  收藏  举报