• ベストアンサー

メソッド宣言の戻り値の型にクラス名を使うには?

メソッドの戻り値の型にクラス名を使ってるプログラムを見かけたのですが、例えばクラス名を public class Player{ とします。そして Playerクラスのメソッド宣言に  private   Player(戻り値の型) startRun(メソッド名) { とあります。 これは戻り値の型にクラス型の変数を使ってユーザー定義してると思うのですが使い方が分かりません。 javaのサイトはできるだけ調べたのですが戻り値の型にクラス名を使うにはどうすればいいか分かりませんでした。 この使い方を教えてくれるサイトを教えてください。 基本型と参照型のStringクラスについて教えてくれるサイトはたくさん見かけたのですが…。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

ご質問の意味を完全に理解できているわけではありませんが、 >>> メソッドの戻り値の型にクラス名を使ってるプログラム は、     メソッドの戻り値の型に「自分の」クラス名を使ってるプログラム、 と解釈させていただきます。 例に取り上げている、Stringクラスは使っていると思いますが、この多くのメソッドは、Stringクラスのインスタンス(オブジェクト)を返しています。もっとも、この場合は publicですが。 つまり、メソッドがそのreturn値をクラスとするのは、おそらく慣れていないだけでごく当然のことなんです。 そこで、 >>> この使い方を教えてくれるサイトを教えてください。 に対する直接のサンプルではありませんが、よく出てくるテクニック(デザインパタン)として、    Singleton(シングルトン) がありますので下記のページを紹介します。少しづつ理解を深めていってください。

参考URL:
http://www.nulab.co.jp/designPatterns/designPatterns2/designPatterns2-1.html
noname#64712
質問者

お礼

ありがとうございます。ごちゃごちゃになっていた頭の中がスッキリしました。たしかにこの戻り値の示し方は当然だなと改めて思いました。 デザインパターンは実際に自分でプログラムを組むようになってから見ながら勉強していきたいと思います。

その他の回答 (1)

  • ggaogg
  • ベストアンサー率43% (38/88)
回答No.2

サンプルを書いてみました。 getHello()メソッドは、Stringクラスのインスタンスを返します。 それを呼び出した側は、戻り値としてStringクラスのインスタンスを取得できます。 public class Test { public static void main(String[] args) { String strHello = getHello(); System.out.println(strHello); } private String getHello() { return new String("はろー"); } } String以外の、例えばjava.lang.Integer等でも、すべてのクラスにおいて同様のことが可能です。 ただ、この質問は、Javaの入門書を複数冊きちんと最初から読み進めれば解決することだと思います。(つまり実際にプログラムを組む前に、まだ本を読み足りない) #1で示されていたシングルトンのデザインパターン等も、Javaでプログラミングをするのなら基本中の基本ですので、実用可能なプログラムを書きたいのであれば、きちんと勉強しておいたほうがいいと思います。

noname#64712
質問者

お礼

ソースを書いて頂きありがとうございます。このソースを見れば参照型の示す意図が分かりました。同時にクラス名を返すのもごく自然だなと思いました。 ありがとうございます。 

関連するQ&A