-1

ここに画像の説明を入力

そう

A a1=new A();左側の描画を行います。

B b1=new B();右側の描画を行います。

これをしたらどうなるか...

B c1=new A();

それはどのように図面に収まりますか?

また、別の質問です。

A a1=new A();

「new A()」が A の四角形を作成し、「a1」が a1 参照を作成することを理解しています。

冒頭の「A」は何をしているの?そして、それはこの図のどこに当てはまりますか?

ありがとうございました。

4

2 に答える 2

1

B c1 = new A()A が B から派生したクラスでない限り、一般的に正しくありません。そうである場合、Ac1 という名前の変数 (クラス タイプが B) によって参照される のインスタンスが作成されます。

先頭の A は、インスタンスのタイプを指定します。変数が指しているインスタンスで使用可能な操作を決定するために、静的解析コンパイラでよく使用されます。たとえばint a、コンパイラは、変数 a を整数として扱う必要があることを認識し、int型でサポートされていない操作を実行しようとすると、コンパイル時に警告/失敗します。

于 2013-10-19T22:03:09.487 に答える
1

class Aあなたができるようにextends class Bするために必要ですB c1 = new A();

この 2 つがどのように相互作用するかを理解するには、継承とコンストラクターがどのように相互作用するかを理解する必要があります。

于 2013-10-19T22:04:59.530 に答える