在Java中创建主类的静态singelton是不好的编程习惯吗?

问题描述 投票:0回答:1

我正在考虑使用Singelton设计模式并创建我的Main class的Singelton。在搜索时,我发现一些评论认为这是一种非常糟糕的编程习惯,特别是因为静态方法的声明并不能使面向对象的编程公道。您对我的代码有什么建议吗?

public class MainClass {
private static MainClass instance = new MainClass();

public static MainClass getMainInstance() {
    return instance;
}

public static void main(String[] args) {
    MainClass main = Main.instance;
}
}
java static mainclass
1个回答
0
投票

首先对于在类上实现的单例对象必须包括以下内容。

  1. 应该将所有构造方法标记为私有。
  2. 它应该具有静态方法,该方法具有仅一次创建对象的逻辑。
  3. 它应该具有静态引用类变量以容纳单个可能的实例。

有了这些,我们可以确保Singleton对象,但这不是唯一的方法,因为我们可以使用创新的设计模式或Fly weight设计模式来克服静态方法调用。

关于静态关键字,它仍在使用宾语。众所周知,任何对象都具有等效的Singleton类类加载过程中在堆上创建的对象。所以它不是OOPS。

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.