プロが教える店舗&オフィスのセキュリティ対策術

教えてください。プログラミング初心者です。
以下のJavaプログラム文があります。
Dクラスはimportされているクラスで、
Aクラスと継承関係にあります。
この場合のC変数は右辺の結果をただ参照している
変数なのでしょうか?何か1つの値を返していて包含しているのでしょうか?
またFメソッドはどのクラスのメソッドを参照して
呼び出しているのでしょうか?
Eメソッドのプログラムが探したのですが、
記述が見あたりませんでした。
本来それを見れば何を返しているのか分かるのですが。

A型<B型>C変数=Dクラス.Eメソッド();
C.Fメソッド();;

A 回答 (2件)

「参照」という言葉をどういう意味で使ってますか?




Javaでは、(int,double等の)プリミティブ型以外は、変数はオブジェクトへの参照(参照値)を記憶してます。

classA a = new classA() ;
なら、newで 新たに作られたclassA型のオブジェクトへの参照を、変数 a で記憶しています。

> C変数は右辺の結果をただ参照している変数なのでしょうか?

Dクラス.Eメソッド(); が返した(returnで指定した)オブジェクト(への参照)を記憶している

という意味で使っているのなら YESです。


> 何か1つの値を返していて包含しているのでしょうか?

これが、どんな意味で言っているのか、さっぱりわかりません。
多分、間違った考えでしょう。


> またFメソッドはどのクラスのメソッドを参照して
> 呼び出しているのでしょうか?

変数 C が参照しているオブジェクトです。
Cの宣言や、D.E()からして
「A<B> 型 (ジェネリックの A を B型に特化させたもの)、または、その派生クラスで、
D.E()の戻り値の型。」です。
提示された中では、確定できません。

また、 C.F() と書けることから、 FはA型のメソッドということになります。
ただし、実際に実行されるのは、そこからオーバーライドされた別のメソッドかもしれません。
    • good
    • 0
この回答へのお礼

ありがとう

ありがとうございます。

お礼日時:2018/09/05 12:09

何を言っているんですか?



メソッドと変数は別物だし、メソッドは自身のクラス内になければ、親クラスなどに存在するでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!