你有沒有在java中看過這個語法如何理解這個語法class obj = class.method;
class obj = class.method;
TaskStackBuilder stack = TaskStackBuilder.create(this);
這是什麼意思?
你有沒有在java中看過這個語法如何理解這個語法class obj = class.method;
class obj = class.method;
TaskStackBuilder stack = TaskStackBuilder.create(this);
這是什麼意思?
TaskStackBuilder stack= TaskStackBuilder.create(this);
這是什麼意思?
這意味着TaskStackBuilder.create
返回類型爲TaskStackBuilder
的對象。像那樣的方法通常被稱爲建造者或工廠方法。
例子:
class TaskStackBuilder {
public static TaskStackBuilder create(Object obj) {
return new TaskStackBuilder();
}
}
雖然當然,你在看一個可能會利用obj
(並使用更具體的類型吧)。
當對象實例可以被緩存和重用時,工廠方法特別有用。例如,Integer
級高速緩存Integer.valueOf(int)
緩存Integer
實例爲值-128通過量127,並可以緩存別人,所以當你Integer.valueOf(20)
(例如),你永遠回來的Integer
的相同實例(不僅僅是等同的)。
我認爲,你的意思是Factory Pattern你可以使用這個私有類的構造函數來創建一個特化的實例。
類的默認構造函數是私有:
public SomeClass{
private SomeClass(){
}
}
和創建調用創建方法,該方法可以使用私人consturctor創建一個實例的實例。請參閱singleton pattern。您只需要一個對象實例:
public class Test {__total_test = _instance = null;
private Test(){};
public Test getInstance(){
if(Test._instance == null){
_instance = new Test();
}
return Test._instance;
}
}
這是一個實例(靜態)方法的調用。 – Axel
我寧願寫'TaskStackBuilder stack = new TaskStackBuilder;' –
@Rotwang:或者甚至是'TaskStackBuilder stack = new TaskStackBuilder(this);' –