

メソッドの戻り値の型にクラス名を使ってるプログラムを見かけたのですが、例えばクラス名を
public class Player{
とします。そして
Playerクラスのメソッド宣言に
private Player(戻り値の型) startRun(メソッド名) {
とあります。
これは戻り値の型にクラス型の変数を使ってユーザー定義してると思うのですが使い方が分かりません。
javaのサイトはできるだけ調べたのですが戻り値の型にクラス名を使うにはどうすればいいか分かりませんでした。
この使い方を教えてくれるサイトを教えてください。
基本型と参照型のStringクラスについて教えてくれるサイトはたくさん見かけたのですが…。 お願いします。
No.1ベストアンサー
- 回答日時:
ご質問の意味を完全に理解できているわけではありませんが、
>>> メソッドの戻り値の型にクラス名を使ってるプログラム
は、
メソッドの戻り値の型に「自分の」クラス名を使ってるプログラム、
と解釈させていただきます。
例に取り上げている、Stringクラスは使っていると思いますが、この多くのメソッドは、Stringクラスのインスタンス(オブジェクト)を返しています。もっとも、この場合は
publicですが。
つまり、メソッドがそのreturn値をクラスとするのは、おそらく慣れていないだけでごく当然のことなんです。
そこで、
>>> この使い方を教えてくれるサイトを教えてください。
に対する直接のサンプルではありませんが、よく出てくるテクニック(デザインパタン)として、
Singleton(シングルトン)
がありますので下記のページを紹介します。少しづつ理解を深めていってください。
参考URL:http://www.nulab.co.jp/designPatterns/designPatt …
ありがとうございます。ごちゃごちゃになっていた頭の中がスッキリしました。たしかにこの戻り値の示し方は当然だなと改めて思いました。
デザインパターンは実際に自分でプログラムを組むようになってから見ながら勉強していきたいと思います。
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でプログラミングをするのなら基本中の基本ですので、実用可能なプログラムを書きたいのであれば、きちんと勉強しておいたほうがいいと思います。
ソースを書いて頂きありがとうございます。このソースを見れば参照型の示す意図が分かりました。同時にクラス名を返すのもごく自然だなと思いました。 ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【最大10000ポイント当たる!!】dポイント・Amazonギフト券・マイルなど色々交換できるgooポイントが【質問投稿】で当たる!!
教えて!goo 質問投稿キャンペーン
-
IOException ってどういうときに起こるのでしょうか?
Java
-
数字か文字列かを判定する関数
Java
-
入力チェックとエラーメッセージの表示
Java
-
4
シンボルが見つかりませんというエラーが理解できません。
Java
-
5
Java初心者です、エラーの意味が理解できません
Java
-
6
クラス間でのデータ参照
Java
-
7
public static void main (String args[])
Java
-
8
Java 他クラスの呼び出しが上手くいきません。
Java
-
9
[Ljava.lang.Stringってなんですか
Java
-
10
戻り値の意味がわかりません…
Perl
-
11
リクエストからArrayListのデータが取得出来ない
Java
-
12
The requested resource is not availableエラー
Java
-
13
*をユーザーが入力した数字の数だけ表示するプログラムの作り方を教えてください
C言語・C++・C#
-
14
ResultSetインターフェイスでの next() の使い方
Java
-
15
servletからjspへオブジェクトの配列情報を送る方法
Java
-
16
JSPでのArrayListの表示について困っています
Java
-
17
「httpステータス404」というエラーが出ます。
Java
-
18
非staticフィールドを参照できない理由とは
Java
-
19
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
20
JSPでリンクを利用してパラメータを次画面に渡す方法について。
Java
関連するQ&A
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
JAVAのプログラマーが参考...
-
5
レコード件数の表示
-
6
String型からlong型への変換は...
-
7
時間の取得
-
8
Strutsのバージョンアップによ...
-
9
シンボルが見つかりませんとい...
-
10
javaでの日付の大小比較について
-
11
public static void main (Stri...
-
12
JAVAでMath.powを使用せずに、...
-
13
vb.netでFAXを送信する方法
-
14
JSPで<SELECT>の中にDBから持っ...
-
15
文字列で小数点以下の0を削除し...
-
16
JSPでのArrayListの表示につい...
-
17
文字列を日付に変換でParseExce...
-
18
親クラスから子クラスへアクセス。
-
19
静的メソッドとインスタンスメ...
-
20
String定数プールと"==演算子"...
おすすめ情報