static是静态的意思,可以修饰成员变量和成员方法。
static修饰成员变量表示该成员变量只在内存中只存储一份,可以被共享访问、修改。
静态成员变量(有static修饰,属于类,内存中加载一次): 常表示如在线人数信息、等需要被共享的信息,可以被共享访问。
public static
String
onlineNumber
=
161
; //使用类名.变量名去访问
静态成员方法(有
static
修饰,属于类),建议用类名访问,也可以用对象访问。
实例成员变量(无static修饰,存在于每个对象中):常表示姓名name、年龄age、等属于每个对象的信息。
private String name; //使用对象名.变量名去访问
private int age;
实例成员方法(无static修饰,属于对象),只能用对象触发访问。
核心点在于加上static后,只推荐使用类名去访问。
static修饰成员变量的内存原理
static静态变量区与方法区在程序运行时同时加载。仅存一份。
static修饰成员方法的内存原理
static方法与main在程序运行时同时加载在方法区。仅存一份。
静态方法只能访问静态的成员,且方法中不能有this。
在同一个类中调用静态变量和方法,类名可以不写,直接调用。
不建议用实例对象访问静态变量和方法。
建议把所以成员都共有的方法 定义为静态。
属于特定对象的方法,且方法中要调用实例对象的属性,不要加static。