背景:
在idea里预设自己的单例模式代码块,在idea中输入singleton自动联想出单例模式代码
代码准备:
单例模式代码
// 构造器,私有,不能被new
private $CLASS_NAME$(){}
// ClassHolder属于静态内部类,在加载类Demo03的时候,只会加载内部类ClassHolder,
// 但是不会把内部类的属性加载出来
private static class ClassHolder{
// 这里执行类加载,是jvm来执行类加载,它一定是单例的,不存在线程安全问题
// 这里不是调用,是类加载,是成员变量
private static final $CLASS_NAME$ holder =new $CLASS_NAME$();
}
public static $CLASS_NAME$ of(){//第一次调用getInstance()的时候赋值
return ClassHolder.holder;
}
$END$
注意:
代码中$CLASS_NAME$ 这里设置的是变量
idea设置
IntlliJ IDEA -->preferences--->Editor--->Live Templates
点击2的+,Add
选择3 Live Templates
1、Abbreviation
这里输入singleton,这里是自定义的,因为我写的是单例模式,所以是singleton。
2、Description:
单例模式
3、Template text:
把上面咱们单例模式的代码放进去
4、Edit variables
Expression 这里选择className()就好了(类名)
5、第一次设置的时候,这里不是Change,是Define
点击Define选择java就好了
全部设置完,点击Apply 就完事了
然后在写代码的地方,打出singleton,然后回车就会出现刚刚设置的代码