これはJavaでこの構文を見たことがありますこの構文クラスを理解する方法obj = class.method;
class obj = class.method;
TaskStackBuilder stack = TaskStackBuilder.create(this);
これはどういう意味ですか?
これはJavaでこの構文を見たことがありますこの構文クラスを理解する方法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
クラス・キャッシュ値127 throug -128用Integer.valueOf(int)
キャッシュInteger
インスタンスを、そして他の人をキャッシュすることができる、あなたは(たとえば)Integer.valueOf(20)
を行うときに、あなたは常にだけではなく(Integer
の同じインスタンスが返されます同等のもの)。
私は、Factory Patternということは、これをプライベートクラスコンストラクターで使用して、特定のインスタンスを作成できると思います。
あなたのクラスのデフォルトコンストラクタがプライベートで:
public SomeClass{
private SomeClass(){
}
}
とインスタンスを作成するために、民間consturctorを使用することができます作成方法を、呼び出すインスタンスを作成するため。
singleton patternも参照してください。オブジェクトのインスタンスが1つだけ必要な場合:
public class Test { private static 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スタック=新しいTaskStackBuilder(これ); –