类中的成员
static修饰静态成员
没有static修饰的非静态成员
静态修饰类变量和非静态成员,实例变量的区别是什么
从内存上看
静态成员跟随类进入方法区中的静态去,优先于对象加载
非静态成员 跟随对象的加载进入到堆内存
从所属上看
静态成员只属于自己的类
非静态成员属于对象
从调用方式上看
静态成员可以被类名直接调用,也可以被对象调用(不推荐)
非静态成员只能被对象调用
从生命周期
静态成员跟随类的加载而加载,跟随类的消失而消失,生命最长
非静态成员跟随对象的加载而加载,跟随对象的消失而消失,生命相对较短
使用方式
静态成员是所有对象的共享数据
非静态成员是对象自己的特有数据
静态static修饰,应用场景
静态成员变量
静态成员方法
静态成员变量:依据需要,具体分析,如果发现实现的功能中有对象的共享数据
静态方法:定义方法的时候,方法中有没有访问过静态成员,如果有请你写静态
如果你定义的方法中,访问过非静态的成员变量,这个方法也只能非静态
方法中从来没有访问过任何成员变量,定义成静态方法
|
|