java 基础 --- static 本质
今天遇到了 Static ,想深入了解一下 Static 的具体作用。
一, 静态成员变量和静态方法
Static 是一个用于修饰成员变量和方法的,被其修饰的成员变量/方法被称作静态成员变量/静态成员方法 ,也叫做类变量。既然是被这个关键字修饰,那么注定静态成员变量/方法与普通的成员变量/方法是有区别的。
静态与非静态的区别:
1.static 修饰的成员变量和方法,从属于类。普通变量和方法,从属于对象的。
2.静态修饰的变量/方法的生命周期和类相同,在整个应用程序执行期间都有效。普通成员变量/方法只有在类创建对象后才开始存在的,对象被销毁,他也会被销毁。
3.静态变量/方法可以使用“类名.静态成员”的形式进行调用。非静态变量/方法必须用“对象.变量”来调用。
4.静态变量是全类共享的,普通变量是每个对象单独使用的。
5.在静态方法中不可以使用 this 关键字。
6.在静态方法中不可以直接调用非静态方法