1

Animal は Cat クラスの親クラスです。

public static void main (String[] args)
{
Animal myCat1 = new Cat;  //Allocation 1
Cat myCat2 = new Cat;    //Allocation 2
}

2つの割り当ての違いは何ですか??それぞれが本当ですよね?

4

3 に答える 3

5
Animal myCat1 = new Cat();

これはpolymorphism、スーパー クラス参照がサブクラス オブジェクトを保持できる場所で呼び出されます。

Java チュートリアルを読む:ポリモーフィズム

于 2012-04-07T16:37:40.063 に答える
4

これらはどちらも有効ではありません。が必要()です。それとは別に:

  • 最初のものは、そのスーパークラスによってインスタンスを参照します
  • 2番目はそのクラスによってそれを参照します

までの任意のスーパークラスによって任意のオブジェクトを参照できますObject。これがポリモーフィズムです。

于 2012-04-07T16:38:33.237 に答える
1

あなたの質問に答えるには: 違いはありません。どちらの場合も、'new Cat ()' は Cat クラスのインスタンスを割り当てます。どちらも真です。myCat1 は動物 (実際には猫) であり、myCat2 は猫です。

于 2012-04-07T16:44:18.330 に答える