靜態(tài)工廠(chǎng):
在Java中,構造函數的訪(fǎng)問(wèn)級別通常是public, 它提供了一個(gè)構造該類(lèi)對象的接口。可是你知不知道,把構造函數的級別設為private, 有一些特別用處。
Java code?
public class Handler {
/**當前類(lèi)唯一實(shí)例**/
private final static Handler INSTANCE = new Handler();
/**默認無(wú)參構造器**/
private Handler() {
}
/**
* 用于獲取Handler實(shí)例
* @return 返回Handler實(shí)例
*/
public static Handler getInstance()
{
return INSTANCE;
}
}
上面的makeShape()方法可以返回Shpe的子類(lèi)對象如下假定:retangle和Circle是Shape的子類(lèi)
Java code?
一、構造器;
二、靜態(tài)工廠(chǎng)方法;
基本細想:通過(guò)類(lèi)中的靜態(tài)方法返回對象。(如果構造方法私有,稱(chēng)做單例模式)
三、通過(guò)Class類(lèi);
基本細想:實(shí)例化無(wú)參構造的類(lèi),先通過(guò)forName()方法實(shí)例化Class對象(即反射操作),然后用Class類(lèi)中的
newInstance()方法;實(shí)例化帶參數構造的類(lèi),需要使用Class類(lèi)中的getConstructors()方法獲取所有的構造,然后同上操
作。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.681秒