一、static
1、static不属于任何对象,而是属于类,一个类可以有多个对象。
2 、用来修饰:内部类、成员变量、方法、代码块
不可修饰:外部类,局部变量
public class Singleton {
// 声明为 private 避免调用默认构造方法创建对象
private Singleton() {
}
// 声明为 private 表明静态内部该类只能在该 Singleton 类中被访问
private static class SingletonHolder {
private static final Singleton INSTANCE = new Singleton();
}
public static Singleton getUniqueInstance() {
return SingletonHolder.INSTANCE;
}
}
二、final与static(final作用域为对象,static作用域为类)
final在一个类的实例对象间不可变,但在一个类的多个实例对象间可变;
static在一个类的实例对象间可变,在一个类的多个实例对象间不可变;