2011-01-24 14 views
1

他の(C#のスタイル)の後に、オブジェクト1の起動方法は: Javaは、Javaはこの形式を持っていた場合、私は思っていた

new Object().methodOne("This is the first method").methodTwo("Second attached method"); 
new String("Hello World ").TrimEnd().Split(' '); 

はあなたに感謝

ます でき
+3

なぜそれを試してみるのではなく、ドキュメントを垣間見るだけなのでしょうか?あなたは驚くかもしれません... –

+0

試しましたか? –

+0

これは、メソッド連鎖と呼ばれます。 –

答えて

5

Javaでこれを行います。メソッドの戻り値の型によって異なります。

このようなメソッドは、このように簡単に使用できる型を返さない可能性があるため、特定のAPIがこれをサポートしていない可能性があります。しかし、Javaは、オブジェクトのインスタンスメンバーを変数に代入することなくアクセスすることを最も確実にサポートしています。

私はfluent interfaceというコンセプトがあると思います(これはもちろんJavaで表現できます)。

+0

あなたの権利は、私は2つの方法があります:void setProp1(string val); void setProp2(string val)だから、私はObject.setProp1( "one")を使うことができます。 Object.setProp2( "two"); 2つ目の呼び出しはsetProp1のvoid戻りで呼び出されるため、両方ではありません。配列の初期化リストを簡単にしたいと思っていました。ああ、ありがとうございます –

2

はい、Javaではこのようなことができます。たとえば、次のように

class Test { 
    public Test method(int x) { 
     return this; 
    } 
    public Test method2(String y) { 
     return this; 
    } 
} 

その後、次のことができます。あなたは、文字列のメソッドが呼び出されたfluent interface一緒に呼び出すことができますインターフェイスの

new Test().method(5).method2("test"); 

このようなものを。 Martin Fowler(その言葉を作った人)は、実際にJavaを使って初めて実演しました。

+0

それは 'public Test method(int x)'ではありませんか? – Femaref

+0

固定、ありがとう.. –

関連する問題