您好我是java编程的新手,我想创建多个Myclass的obj,因为编写了代码.Whis它会生成相同的对象
class Myclass {
private static Myclass single;
private Myclass() {
}
public static synchronized Myclass obj() {
if (single == null) {
single = new Myclass();
}
return single;
}
}
public class Demo {
public static void main(String args[]) {
Myclass obj = Myclass.obj();
System.out.println("one "+obj);
Myclass obj1 = Myclass.obj();
System.out.println("two "+obj1);
}
}
答案 0 :(得分:1)
实际上它是单个实例,两者都是同一个对象
答案 1 :(得分:1)
您明确地设计MyClass.obj()以返回单例,因此您不应该惊讶于返回相同的实例 - 因此两个引用都指向同一个对象并具有相同的哈希码。