dengxinyi 6 年之前
父節點
當前提交
4f68b90092
共有 2 個文件被更改,包括 41 次插入0 次删除
  1. 19 0
      oj/oo-design/InitClass.java
  2. 22 0
      oj/oo-design/Singleton.java

+ 19 - 0
oj/oo-design/InitClass.java

@@ -0,0 +1,19 @@
+public class InitClass {
+    public static void main(String[] args) {
+        System.out.println(Son.name);
+    }
+}
+
+class Father {
+    public static String name = "Father";
+
+    static {
+        System.out.println("Init Father!");
+    }
+}
+
+class Son extends Father {
+    static {
+        System.out.println("Init Son!");
+    }
+}

+ 22 - 0
oj/oo-design/Singleton.java

@@ -0,0 +1,22 @@
+public class Singleton {
+    private static Singleton instance;
+
+    private Singleton() {}
+
+    public static Singleton getInstance() {
+        if (instance == null) {
+            synchronized (Singleton.class) {
+                if (instance == null) {
+                    instance = new Singleton();
+                }
+            }
+        }
+        return instance;
+    }
+
+    public static void main(String[] args) {
+        Singleton s1 = Singleton.getInstance();
+        Singleton s2 = Singleton.getInstance();
+        System.out.println(s1 == s2);
+    }
+}