一. static关键字的基本用法
被static关键字修饰可用根据类名直接访问,就是方便在没有创建对象的情况下来进行调用
1.static关键字修饰类
java中static是不能修饰普通类的,但是可以修饰内部类
2.static关键字修饰方法
static修饰方法时,则可以通过类名直接调用该方法
3.static关键字修饰变量
被static修饰的成员变量为静态变量,该变量属于这个类而不是属于对象的
同样可以通过类名直接调用该类的静态变量
二. 分析static关键字
看一下java数据区
可以看到静态变量存在于方法区中被所有线程共享
可以看到,方法在调用的时候,是从方法区调用的,但是堆内存不一样,堆内存中的成员变量lastname是随着对象的产生而产生。随着对象的消失而消失。静态变量是所有线程共享的,所以不会消失。这也就能解释上面static关键字的真正原因。