假设我们有以下代码片段:
Cat cat = new Cat(); // The Cat class extends Animal
ArrayList<Animal> animalList = new ArrayList<>();
animalList.add(cat);
Run Code Online (Sandbox Code Playgroud)
cat是Cat指向类型对象的类型的引用Cat
animalList.get(0)是类型的引用Animal,指向与cat引用相同的对象.
cat == animalList.get(0)将评估,true因为他们都指向同一个对象.
但是,一个引用是类型Cat而另一个是类型Animal(列表中的位置0),所以我错误地说引用不完全相等,即使它们指向相同的内存位置?我是否过多地研究术语?
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |