Java面向对象--static关键字

静态成员变量:只有一份,每个对象共享这个静态变量,即使不创建对象,这个静态成员变量也会存在data segment中,属于整个类,不属于单个对象。
如何访问静态变量?
任何一个对象都可以访问静态变量,访问的都是同一块内存。
即使没有对象,也可以访问静态变量,用类名.静态变量名访问静态变量。
静态变量可以用来计数。
非静态成员变量:每new一个对象都会有一份成员变量,每一个对象都会有自己的成员变量。
 
静态方法:不会针对某一个对象来调用,没有对象仍可以使用,类名.静态方法名。在static方法中不可以访问非static成员。在main里面也不能访问非静态的方法,不能访问非静态的成员变量
非静态的方法:针对每一个对象来调用,要访问非静态的方法必须要先new一个对象出来。
 
可以通过对象引用或类名访问静态成员:

内存分析:
构造方法完成后,stack中的局部变量name消失
 
 

猜你喜欢

转载自www.cnblogs.com/tutu0304/p/10930261.html