对单例的支持 不在语言级别上,但是该语言提供了足够的功能来创建它们而没有任何麻烦。
考虑以下代码:
public class Singleton { private static final Singleton instance = new Singleton(); // Private constructor prevents instantiation from other classes private Singleton() {} public static Singleton getInstance() { return instance; }}这是来自Wikipedia的示例,该示例说明了如何制作单例。实例保存在私有字段中,在类外部无法访问构造函数,该方法返回此单个实例。
至于构造函数: 默认情况下,每个类都有一个所谓的 默认构造函数 ,该 构造函数 不带任何参数,仅调用超类的no-
args构造函数。如果超类没有任何无参数的可访问构造函数,则必须编写一个显式构造函数。
因此,一个类必须具有一个构造函数,但是如果超类具有一个无参数的构造函数,则不必编写它。



