0

blabla をスキップして、「下の例」に進むことができます。 特定の戻り値の型を持つメソッドを作成する場合、メソッドを呼び出したときに作成されたメソッド returntype のインスタンスはありますか? たとえば、User クラスがあり、戻り値の型が User のメソッドを作成した場合、メソッドを呼び出すときにメソッド内に User クラスの新しいインスタンスが作成されますか? あなたはそれを言うことができますか?public Object getObject(...){...} は、次のような初期化されていないオブジェクトを作成します。メソッド内で使用できるものはどれですか? そして、メソッドの戻り値の型が呼び出されると、次のようになります: object = return(); メソッド内で宣言された Object インスタンスを返します。他の誰かがそれを編集して、より多くのスタックオーバーフローの聴衆にわかりやすくすることができるかもしれないと、私はひどい説明をしたことを知っています。

以下の例: たとえば、これは何らかの方法で可能です:

public UserObject getSomethingDone(User user){ 
getSomethingDone.setSomething(user.getSomething);
return getSomethingDone;
}

これの代わりに:

public UserObject getSomethingDone(User user){ 
UserObject userObject = new UserObject();
userObject.setSomething(user.getSomething);
return userObject;
}

編集: nvm は愚かな質問です。なぜなら、それはユニット化されたオブジェクト インスタンスを作成する可能性があるからです。したがって、これは可能かもしれません:

public UserObject getSomethingDone(User user){ 
getSomethingDone = new UserObject();
userObject.setSomething(user.getSomething);
return userObject;
}

しかし、それはあまり意味がありません。

4

3 に答える 3

1

リフレクション API を使用してメソッドの戻り値の型を取得することもできますが、戻り値の型の新しいオブジェクトを単純にインスタンス化するよりもはるかに面倒です。

于 2012-05-10T12:20:46.317 に答える
0

いいえ、暗黙的なオブジェクトの作成は実行されません。Java では、戻りオブジェクトを明示的に作成していました。

于 2012-05-10T12:20:54.740 に答える
0

要するに、いいえ。Java (特に C ファミリ) は、そのようには機能しません。あなたが言ったように実際に機能するある種のパスカルファミリーのバックグラウンドを持っているように見えます(戻り値が初期化されていないため*)。

*:矛盾しているため、あなたの質問ではなく、あなたの例を参照しています

于 2012-05-10T12:22:00.840 に答える