San*_*han 1 java oop inheritance
假设我有一个叫做超类animal,和三个子类分别叫Dog,Cat以及Lion扩展了animal类。然后,我为每个子类创建一个对象并将它们添加到ArrayList<animal>.
当我浏览该列表时,如何区分is 中的每个对象都属于类型的对象Dog或Cat对象?ArrayListanimal
您应该使用instanceof运算符:
if (animal instanceof Dog) {
//something
} else if (animal instanceof Cat) {
//something
} else if (animal instanceof Lion) {
//something
}
Run Code Online (Sandbox Code Playgroud)
但是,如果您真的需要使用它,您应该三思而后行。在大多数情况下,这instanceof是一种糟糕的 OOP 实践。
| 归档时间: |
|
| 查看次数: |
1856 次 |
| 最近记录: |