天天看點

JAVA 雙親委派機制

最近突然看到了關于Java的雙親委派機制,作為一個搞Java的程式猿還是應該知道是怎麼回事。

我用一個程式來簡單說明是怎麼回事吧

package java.util;

/**
 * 本類中的main方法不會正常執行,這裡涉及到的知識點就是雙親委派邏輯
 * 雙親委派的特點就是:
 * 			1. 父類存在則調用父類,不執行子類
 * 			2. 父類不存在,則執行子類
 * 這裡模拟的就是List類,這個類因為屬于JDK自帶的預設類,是以會先調用預設類;
 * 而預設類中根本就沒有main方法,是以執行本方法就報錯了,這麼做的好處就是防止
 * 黑客模拟父類釋放病毒等
 * @author threej
 *
 */
public class List {

	public static void main(String[] args) {
		System.out.println('a');
	}
}
           

這個程式很好的解釋了雙親委派,但是這裡需要注意的一點就是模拟程式需要嚴格按照Java本身自帶類的路徑來建構類,比如我這裡用的List類,我們寫測試類是包路徑就是java.util,這樣程式才會有我們想要的結果。