静态字段
count属于Person
改变jack的字段值mike的字段值爷跟着改变。
package ex1;
public class Main {
public static void main(String[] args) {
Person mike = new Person();
mike.name = "mike";
mike.count = 4;
System.out.println(mike.name);
System.out.println(mike.count);
Person jack = new Person();
jack.name = "Jack";
jack.count = 10;
System.out.println(mike.name);
System.out.println(mike.count);
}
}
class Person{
public static int count;
public String name;
}
静态方法
不实例化就可以调用。
package ex1;
public class Main {
public static void main(String[] args) {
Person p = new Person();
p.showMsg();
Person.showMsg();
}
}
class Person{
public static void showMsg(){
System.out.println("This is in person class");
}
}
保证headmaster只有一个实例(单例模式)
package ex1;
public class Main {
public static void main(String[] args) {
HeaderMaster hm1 = HeaderMaster.getHeaderMaster();
HeaderMaster hm2 = HeaderMaster.getHeaderMaster();
System.out.println(hm1 == hm2);
}
}
class HeaderMaster{
private static HeaderMaster hm = null;
public static HeaderMaster getHeaderMaster(){
if (hm == null){
hm = new HeaderMaster();
}
return hm;
}
// 杜绝用户创建新实例的能力
private HeaderMaster(){
}
// 提供一个获取实例的能力
}
静态字段之接口
package ex2;
public class Main {
public static void main(String[] args) {
Student stu = new Student();
System.out.println(stu.count);
}
}
interface Person{
// public static final int count = 99;
int count = 99;
}
class Student implements Person{
}