【Java】平成24年春  問11

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
Java初心者さん  
(No.1)
ご覧いただきありがとうございます。
平成24年春 問11 "Java"に関する質問です。
Java初心者のため、詳しい解説を頂けたら幸いです。

プログラム1のprintメソッド中の
thisは何を指すのでしょうか。
またなぜthisがそれを示すのか、解説して頂きたいと考えています。

(個人の見解としては、thisには
ValueSortedMapクラスのフィールドである
mapもしくはreverseMapが入ると予想しています。
しかし、mapもしくはreverseMapが、なぜthisに入るのか分かりません。)
2021.09.15 14:39
初学者さん 
(No.2)
こんにちは。

”プログラム1のprintメソッド中の
thisは何を指すのでしょうか。”

とのことですが、
thisは予約語で、そのクラスのオブジェクト自身を表すものですので、
この場合はScoreManagerクラスのことを指しています。

thisに何が入るかの説明はこれで全部になってしまいますが、
おそらく聞きたいのは
なぜ拡張for文でthisをつかうとString型の値が出てくるのか
だと思うので少しだけ説明します。

それはずばりiterable<String>という
インターフェイスを継承しているからです。

iterableのitelator<String>メソッドが
オーバーライドされていることにより、
拡張for文でreverseMap内の値が
出力されるようになっています。


私はjava Silverまで持っていますが
こんな難しいことを聞く問題にはであったことがないので
この部分はみんなわからないものとしていた方がいい気もします。
2021.09.17 11:48

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。

その他のスレッド


Pagetop