Java中的单例模式是指只允许一个对象实例存在的设计模式,常常用于需要实例化的类只需要一个实例的情况。
单例模式有多种实现方式,其中最常见的是懒汉式和饿汉式。
// 懒汉式,线程不安全 public class SingletonLazy { private static SingletonLazy instance; private SingletonLazy() {} public static SingletonLazy getInstance() { if (instance == null) { instance = new SingletonLazy(); } return instance; } } // 饿汉式,线程安全 public class SingletonHungry { private static SingletonHungry instance = new SingletonHungry(); private SingletonHungry() {} public static SingletonHungry getInstance() { return instance; } }
常量是指一旦被定义就不可被更改的数据。
Java中常量有两种类型:编译时常量和运行时常量。
编译时常量使用final关键字修饰,一旦被定义就不能改变。常量的命名一般使用全大写字母,多个单词之间使用下划线分隔。
public class Constants { public static final int MAX_NUM = 100; public static final String ERROR_MSG = "An error occurred."; }
运行时常量使用关键字const,但是Java不支持const关键字,所以如果需要运行时常量,可以使用静态不可变变量,或者使用枚举类型。
// 使用静态不可变变量 public class Constants { public static final String MONDAY = "Monday"; public static final String TUESDAY = "Tuesday"; } // 使用枚举类型 public enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY; }