Java 程序实现私有构造函数
在这个实例中,我们将学习用Java实现私有构造函数。
要理解此示例,您应该了解以下Java编程主题:
示例1:创建私有构造函数的Java程序
示例class Test {
//创建私有构造函数
private Test () {
System.out.println("这是一个私有构造函数。");
}
//创建一个公共静态方法
public static void instanceMethod() {
//创建一个Test类的实例
Test obj = new Test();
}
}
class Main {
public static void main(String[] args) {
//调用instanceMethod()
Test.instanceMethod();
}
}
输出结果这是一个私有构造函数。
在上面的示例中,我们创建了Test类的私有构造函数。因此,我们不能在Test类之外创建该类的对象。
这就是为什么我们在类内部创建了一个名为 instanceMethod()的公共静态方法,该方法用于创建Test类的对象。 在Main类中,我们使用类名调用该方法。
示例2:使用私有构造函数的Java 单例设计模式
Java 单例设计模式可确保一个类只有一个实例。为此,我们使用私有构造函数。
示例class Language {
//创建一个类类型的公共静态变量
private static Language language;
//私有构造函数
private Language() {
System.out.println("内部私有构造函数");
}
//公共静态方法
public static Language getInstance() {
//创建对象(如果尚未创建)
if(language == null) {
language = new Language();
}
//返回单例对象
return language;
}
public void display() {
System.out.println("实现了单例模式");
}
}
class Main {
public static void main(String[] args) {
Language db1;
//调用getInstance方法
db1= Language.getInstance();
db1.display();
}
}
输出结果内部私有构造函数
实现了单例模式
在上面的示例中,我们创建了一个名为Languages的类。该类包含:language- 类类型 private 变量
Language() - private 构造函数
getInstance() - public static 类类型方法
display() - public 方法
由于构造函数是私有的,因此我们不能从外部类创建Language对象。 因此,我们在getInstance()方法内创建了该类的对象。
但是,我们以仅创建一个对象的方式设置了条件。 并且,该方法返回对象。
注意这一行,db1 = Language.getInstance();
这里,db1 是 Language 类型的变量
Language.getInstance() - 调用方法getInstance()
由于getInstance()返回Language类的对象,因此为db1变量分配了返回的对象。
最后,我们使用对象调用了display()方法。