实例变量与static变量的区别
2017-05-07 23:49
162 查看
成员变量又分为两种,一为实例变量,以为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
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
相关文章推荐
- Java学习疑点(2)--被static修饰的静态变量与实例变量之间生命周期的区别
- 静态变量(static)和实例变量的区别?
- C++(二)全局变量、局部变量及静态变量(static)的区别
- static全局变量与普通的全局变量和普通局部变量的区别,static函数与普通函数的区别
- static变量与普通变量的区别
- static全局变量,局部变量,函数与普通全局变量,局部变量和函数的区别
- static 全局变量与普通的全局变量的区别/static局部变量和普通局部变量的区别/static函数与普通函数的区别[转]
- STATIC 变量与全局变量的区别
- static全局变量与普通的全局变量区别
- static全局变量与普通的全局变量有什么区别?
- 静态(static)变量与非静态变量的区别
- 全局变量、extern/static/const区别与联系
- Java 中静态变量与实例变量的区别
- const常量和static静态只读变量有何区别
- 【转】static和extern的区别;当使用另外一个文件中的变量、类、方法时,什么时候改用extern声明,什么时候该include?
- ASP.NET中static 变量和Application的区别
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- static全局变量与普通的全局变量的区别
- 全局变量、extern/static/const区别与联系
- 全局变量、extern/static/const区别与联系