静态变量(类变量)、静态方法(类方法):static 声明的属性或方法
注意:
为该类的公用变量,属于类,被该类的所有实例共享,在类载入时被初始化。
static 变量只有一份。
一般用类名.类变量/方法来调用。
在 static 方法中不可直接访问非 static 的成员
实例:
public class TestStatic {
int id; // id
String name; // 账户名
String pwd; // 密码
static String school = "清华大学"; // 学校名称
public TestStatic(int id, String name) {
this.id = id;
this.name = name;
}
public void login() {
System.out.println(name);
}
public static void printSchool() {
// login();//调用非静态成员,编译就会报错
System.out.println(school);
}
public static void main(String[] args) {
TestStatic u = new TestStatic(01, "张三");
TestStatic.printSchool();
TestStatic.school = "北京大学";
TestStatic.printSchool();
}
}
运行结果如下:
内存分析图如下: