public class Singleton01 {
//持有私有静态实例,防止被引用
private static final Singleton01 instance=new Singleton01();
//私有构造方法,防止被实例。只有本类能调用。
public Singleton01() {
};
//1、此处构造方法结尾的分号存在和不存在有什么区别?
//懒汉式,静态工程方法,创建实例
public static Singleton01 getInstance(){
return instance;
}
//2、此处的方法存在的意思是什么?
//此处不存在也没问题吧
public void m(){
System.out.println("m");
}
public static void main(String[] args) {
Singleton01 s1=Singleton01.getInstance();
Singleton01 s2=Singleton01.getInstance();
System.out.println(s1==s2);
}
}
第一个问题:
只是一个语法的标识,就好比文档中的句号和逗号差不多,代表当前是一个完整的语句,和下一个语法分开,如果仅仅只有一句,加不加无所谓,但是多个语句时,要区分,否则编译器不知道你的语法;
第二个问题:
该处应该只是声明一个简单的方法而已,没有实际意义,可有可无
你的1、2 两个问题楼上回答了,给你增加个问题3:这不是私有构造,外部还是能随便new,保证不了单例