[code]
public class daofactorycatch(throwable e)
}public static daofactory getinstance()
public static userdao getuserdao()
} 下面我們呼叫這段**:
daofactory.getinstance().getuserdao();
//注意:報錯了哈
原因。。。。
1。執行:
private static daofactory instance = new daofactory();
2。在靜態方法裡面,也就是一載入到jvm的時候就執行建構函式
所以private daofactory()catch(throwable e)
}被執行,並且我們能看到userdao 被賦值了,
3。private static userdao userdao = null;
在userdao被賦值之後,他又被賦值為空了。。。
如何改呢。。?
private static userdao userdao = null;
private static daofactory instance = new daofactory();
換順序。。也就是說把所有的準備工作都做好之後再去new 他
[/code]
java的靜態初始化和動態初始化
package array public class array for int i 0 i 3 i system.out.println for int i 2 i 0 i system.out.println system.out.print b.length n 動態初始化 inta new ...
java初始化順序
1 父類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 2 子類靜態成員和靜態初始化塊 按在 中出現的順序依次執行 3 父類例項成員和例項初始化塊 按在 中出現的順序依次執行 4 父類構造方法 5 子類例項成員和例項初始化塊 按在 中出現的順序依次執行 6 子類構造方法 public abstr...
java初始化順序
例如以下 package chapter5 public class demo1one public void printinfo public static void main string args 程式一開始先執行 private static string password 0721 這行 ...