类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
区别在于:
类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而实例变量则属对象私有,某一个对象将其值改变,不影响其他对象;
调用
类变量可以用对象和类名调用;实例变量只能用对象调用;
存储
类变量存储与方法区的常量池;而实例变量存储于堆
ps:基本类型存储于栈
初始化
类变量和实例变量都默认初始化;string默认初始化为null;int初始化0;Integer初始化为null;即非基本类型默认初始化都为null
局部变量(方法内)必须初始化
例:
|
1
2
3
4
|
class person{
static String age; //--类变量
public String name="李四"; //--实例变量
}
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class ClassJava{
public static void main(String[] args){
person A=new person();
A.age="10";
A.name="张三";
System.out.println(A.age); //-结果为"10"
System.out.println(A.name); //-结果为"张三"
person B=new person();
//类变量是针对所有对象的,所以A改变age,B的age也改变
System.out.println(B.age); //-结果为"10"
//实例只改变自身的,所以A对象的name改变,不影响对象B的name变量
System.out.println(B.name); //-结果仍为"李四"
}
}
|
