成员变量又分为两种,一为实例变量,以为static变量(也称为类变量、静态变量)
static变量
static变量即类变量、静态变量,在变量前面有static关键字修饰。对一个类,每当创建一个static变量时,系统就会为该static变量分配一次内存,以后不管创建了多少个对象,所有对象调用该static变量时,static变量的值是共享的。
可以通过类名或者对象来调用static变量。
实例变量
在变量前面没有static关键字修饰。对象的实例化,就是指这个,可以通过对象来访问实例变量,和static变量的区别就是,实例变量不可一通过类名来访问成员变量。
/*实例变量与static变量的区别:
* 实例变量通过对象改变变量的值,并不会影响到其他对象的实例化变量的值。
* static变量可以
*/
public class ConcentCircle {
public static int x=100,y=100; //定义圆心的坐标,static变量
public int r; //定义半径变量,实例变量
public static void main(String[] args){
ConcentCircle t1=new ConcentCircle(); //创建对象
ConcentCircle t2=new ConcentCircle();
t1.x+=100;
t1.r=50;
t2.x=200; //static变量x的值,取决于该语句
t2.r=150;
System.out.println("Circle1:x="+t1.x+",y="+t1.y+",r="+t1.r);
System.out.println("Circle2:x="+t2.x+",y="+t2.y+",r="+t2.r);
}
}
输出结果为:
Circle1:x=200,y=100,r=50
Circle2:x=200,y=100,r=150