static关键字- 静态的意思。可以修饰类的成员(成员变量和成员方法);
静态的内存图及特点- 看图说话
- A:随着类的加载而加载,生命周期最长。
- B:优先于对象存在。
- C:被所有的对象所共享。
- D:比非静态成员多了一种访问方式。可以通过类名直接调用。建议用类名.调用
什么时候使用static- 当类中的成员需要被所有对象共享时,用static修饰。不需要被共享时,就不用static修饰。
- 简单说:共性用static修饰,特性不用static修饰。
类变量(静态变量)和实例变量(非静态的成员变量)的区别- (1)存在内存中的位置:
- (类变量)静态变量随着类的加载而存在于方法区中。
- 实例变量随着对象的建立而存在于堆内存中。
- (2)生命周期:
- 静态变量的生命周期最长,随着类的消失而消失。
- 实例变量的生命周期随着对象的消失而消失。
- (3)所属不同:
- 静态变量也称之为类变量,所属于整个类,被整个类的对象所共享。
- 实例变量是对象的特有数据,所属于对象。
- 举例:定义一个非静态的属性,和一个静态属性,再定义一个静态方法和非静态方法对属性进行输出
|
|