HOME»基本情報技術者試験掲示板»【Java】平成24年春  問11
投稿する

【Java】平成24年春  問11 [3601]

 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日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop