Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 单例模式实现中的类变量和方法_Java_Session_Static_Singleton_Instance - Fatal编程技术网

Java 单例模式实现中的类变量和方法

Java 单例模式实现中的类变量和方法,java,session,static,singleton,instance,Java,Session,Static,Singleton,Instance,如果我们有一个单身班,说: private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; } 现在我们要做经典的工作。添加一些全局变量和方法,以简化只需考虑getter。 假设我们需要全局变量,比如str1和str2: 这两个变量和它们的getter必须是静态的,否则我们强制这

如果我们有一个单身班,说:

private static Singleton instance = new Singleton();

private Singleton() {

}

public static Singleton getInstance() {
    return instance;
}
现在我们要做经典的工作。添加一些全局变量和方法,以简化只需考虑getter。 假设我们需要全局变量,比如str1和str2:

这两个变量和它们的getter必须是静态的,否则我们强制这个类成为单例就足够了 要确保只有一个wil类实例存在

更准确地说:

   private String str1;
   private String str2;

          VS

   private static String str1;
   orivate static String str2;

           AND

   public String getStr1();
   public String getStr2();

          VS

   public static String getStr1();
   public static String getStr2();

私有构造函数将强制每次只有一个实例。您仍然应该遵循标准的OOP原则

private static Singleton instance = new Singleton();

    private Singleton() {

    }

    public static Singleton getInstance() {
        return instance;
    }

    private String str1;
    private String str2;

    public String getStr1() { return str1; }
    public String getStr2() { return str2; }

}

在私有构造函数中,我们可以正常初始化变量,对吗?还有一个问题,“标准oop原则”是在getter方法中使用static?是的,你可以像平常一样初始化它们。当我从你的问题文本中复制粘贴的内容时,
static
是一个打字错误!