在 java 中分配给另一个对象的对象的好处
Benefit Of Object assigned to another object in java
我是 java 的初学者,我每天都从书本上学习。有一个问题困扰了我这么久,创建一个对象并给它一个另一个对象引用有什么用!我看到了太多这种格式的例子。
Cat simon = new Cat();
Animal tiger = simon;
这在很多不同的情况下都很有用(尽管作为通用术语,这是指 Polymorphism
),我能想到的一个是 Parent
数组创建。 (在这种情况下,Parent
是 Animal
class,由 Cat
进一步扩展)。
Animal[] animals = new Animal[] { simon, dog };
您可以简单地通过使用 Animal
父类型来引用列表中的每个项目,您不必担心它是进一步的类型 Dog
或 Cat
等。
因此,假设您对此进行迭代并为每个元素调用 sound()/voice()
方法。如果方法定义在Parent
class(即Animal
),你可以简单的做:
for (Animal animal : animals) {
System.out.println(animal.voice());
}
对象引用本身的主要目的是告诉 Java 保留对象。否则,该对象中使用的内存将消失(由垃圾收集器回收)。并且,通过引用,您可以在 Animal
上触发 actions(如 simon.eat()
和 simon.sleep()
)。没有参考,您将无法执行此操作。你在任何程序中所做的任何事情都必须通过参考来保持(就像你上面所做的那样)。
Animal
和Cat
之间的对象引用表明"I can treat Cat, Dog, Elephant, Eagle, Moose, etc. any animal that is an Animal
like an Animal."(这叫做多态性。)
所以,Animal
可以有像 eat()
和 sleep()
这样的动作,因为所有 Animal
都可以 eat()
和 sleep()
。但是,Eagle
也可以 fly()
。因此,Eagle
定义了 fly()
操作。而且,您不会将 fly()
操作放在 Animal
中,因为并非所有 Animal
都可以 fly()
.
我是 java 的初学者,我每天都从书本上学习。有一个问题困扰了我这么久,创建一个对象并给它一个另一个对象引用有什么用!我看到了太多这种格式的例子。
Cat simon = new Cat();
Animal tiger = simon;
这在很多不同的情况下都很有用(尽管作为通用术语,这是指 Polymorphism
),我能想到的一个是 Parent
数组创建。 (在这种情况下,Parent
是 Animal
class,由 Cat
进一步扩展)。
Animal[] animals = new Animal[] { simon, dog };
您可以简单地通过使用 Animal
父类型来引用列表中的每个项目,您不必担心它是进一步的类型 Dog
或 Cat
等。
因此,假设您对此进行迭代并为每个元素调用 sound()/voice()
方法。如果方法定义在Parent
class(即Animal
),你可以简单的做:
for (Animal animal : animals) {
System.out.println(animal.voice());
}
对象引用本身的主要目的是告诉 Java 保留对象。否则,该对象中使用的内存将消失(由垃圾收集器回收)。并且,通过引用,您可以在 Animal
上触发 actions(如 simon.eat()
和 simon.sleep()
)。没有参考,您将无法执行此操作。你在任何程序中所做的任何事情都必须通过参考来保持(就像你上面所做的那样)。
Animal
和Cat
之间的对象引用表明"I can treat Cat, Dog, Elephant, Eagle, Moose, etc. any animal that is an Animal
like an Animal."(这叫做多态性。)
所以,Animal
可以有像 eat()
和 sleep()
这样的动作,因为所有 Animal
都可以 eat()
和 sleep()
。但是,Eagle
也可以 fly()
。因此,Eagle
定义了 fly()
操作。而且,您不会将 fly()
操作放在 Animal
中,因为并非所有 Animal
都可以 fly()
.