函数需要是static,这样才能通过class调用
优点:
(1)进一步封装
(2)直接返回提前生成好的instance,不需要重新create
作用:
很多时候感觉是类型转换的用处,例如valueOf()函数
常用的方式两种,各有特点:
1 public class Elvis { 2 public static final Elvis INSTANCE = new Elvis(); 3 private Elvis() {} 4 }
1 public class Elvis { 2 private static final Elvis INSTANCE = new Elvis(); 3 private Elvis() {} 4 public static Elvis getInstance() { 5 return INSTANCE; 6 } 7 }