OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

superの使い方

  • 暇なときにでも
  • 質問No.194034
  • 閲覧数266
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 68% (20/29)

javaのソースにsuper(String);といった記述がありました。この処理によって文字列Stringはどのような変化をするのでしょうか。スーパークラスと関連はあるのでしょうか?
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル13

ベストアンサー率 24% (357/1463)

> 以下の記述があった場合基底クラスはhogehogeでよいのでしょうか。
違います。hogehogeは扱っているクラスそのもの(何か用語があったかな?)です。
コード中では、thisというキーワードでインスタンスを参照することができます。
ご質問のコードには、実は基底クラスが書かれていないのですが、この場合、
基底クラスjava.lang.Objectの記述が省略されていると見なされます。

具体的に基底クラスを指定する場合は、例えば
class A extends B {
}
という記述をすると、BがAの基底クラス(AはBの導出クラス)となります。
class B の記述は、どこか別のところにあることになります。
お礼コメント
nights03

お礼率 68% (20/29)

わかりやすい説明をいただきありがとうございました。
投稿日時 - 2002-01-08 17:22:20
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

それは、コンストラクタの中に記述があったはずです。 super(引数) は、基底クラスのコンストラクタを呼び出します。 引数がどうなるかは、その基底クラス次第なんですが、普通のクラスならば、 コンストラクタで、その引数に対して変化を与えるようなことはしないはずです。 ...続きを読む
それは、コンストラクタの中に記述があったはずです。

super(引数) は、基底クラスのコンストラクタを呼び出します。
引数がどうなるかは、その基底クラス次第なんですが、普通のクラスならば、
コンストラクタで、その引数に対して変化を与えるようなことはしないはずです。
お礼コメント
nights03

お礼率 68% (20/29)

おっしゃる通りコンストラクタ中に記述がありました。基底クラスの理解が足りないのでなにをしているのかがいまいち理解できませんが、、、
投稿日時 - 2002-01-08 11:20:21


  • 回答No.2
レベル13

ベストアンサー率 24% (357/1463)

多分、"String"の部分は、ソースそのままの記述ではなく、nights03さんが、その引数がString型であるのを 見てこのように記述されたのだと思います。その前提で書きます。 superの意味は、a-kumaさんがおっしゃっているように、基底クラスのコンストラクタの呼び出しです。 コンストラクタのうち、String型の引数をとるものが呼び出されます。その処理の中で、その引 ...続きを読む
多分、"String"の部分は、ソースそのままの記述ではなく、nights03さんが、その引数がString型であるのを
見てこのように記述されたのだと思います。その前提で書きます。
superの意味は、a-kumaさんがおっしゃっているように、基底クラスのコンストラクタの呼び出しです。
コンストラクタのうち、String型の引数をとるものが呼び出されます。その処理の中で、その引数が
どのように使われるのかは、そのコンストラクタ次第ですが、仮に何か変化させた場合でも、それは
元の引数には反映されません。これは、一般的に参照型の引数について言えることではなく、String型の
特徴なのですが、String型は変化させることができず、必ず新しいインスタンスが作られるからです。
お礼コメント
nights03

お礼率 68% (20/29)

おっしゃる通りでコンストラクタ中に記述されていたものを勝手にString型の変数と思いこんでいました。ですが基底クラスがいまいち理解できていない為混乱しています。たとえば以下の記述があった場合基底クラスはhogehogeでよいのでしょうか。

public class hogehoge {
....
....
public hogehoge(String title){
super(title);
...
...
投稿日時 - 2002-01-08 11:17:22
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ