靜態內部類實現單例模式

2021-09-03 08:23:09 字數 1130 閱讀 6948

new b.c();
b b = new b();

b.c c = b.new c();

public class singleton 

public synchronized static singleton getinstance()

return instance;

} }

public static singleton getinstance()

} return instance;

}

由於內部靜態類只會被載入一次,故該實現方式是執行緒安全的

類載入的初始化階段是單執行緒的

使用new,invokestatic,putstatic,getstatic指令時若該類未載入則觸發

反射使用某個類時若該類未載入則觸發

子類載入時若父類未載入則觸發

程式開始時主方法所在的類會被載入…

鏈結靜態內部類實現的單例模式

public class singleton     

private static class holder

public static singleton getinstance()

}

附 類載入順序示例

package ktuil;

public class teststaticinnerclass

}class a

private p p2 = new p("a--p2");

static

");} public static class c

private p p2 = new p("c--p2");

static

");} }

}class b extends a

public p p2 = new p("b -- p2");

static

"); }}

class p

}

單例模式 靜態內部類

靜態內部類是乙個很好的實現單例的方式 看 package cn.liz.syn public class staticinner 私有的靜態內部類 private static class inner 公共的 獲取例項的方法 public static staticinner getinstance...

單例模式 靜態內部類

1 2 單例模式 靜態內部類3 4public class singletontest0711 1213 14 靜態內部類實現方式 15 16class singleton 2324 25 2.寫乙個靜態內部類,直接返回singleton 26 27private static class sing...

單例模式之靜態內部類實現

單例模式,是一種常用的軟體設計模式。在它的核心結構中只包含乙個被稱為單例的特殊類。通過單例模式可以保證系統中,應用該模式的乙個類只有乙個例項。即乙個類只有乙個物件例項。最常用的單例模式有惡漢式和懶漢式兩種方式,除此之外還有一種通過靜態內部類實現的單例模式。原文摘自 1.示例 public class...