非Animal呢?为何不写个万用类?
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
你知道这要怎么做。我们可以修改数组的类型,并且调整add()
方法的参数,以处理Animal
之上的类。那便是更通用、更抽象的类。但是真的有这种类吗?我们设计的Animal并没有父类不是吗?
事实上是有的。还记得ArrayList
的方法吗?它们是通过对象Object
这个类型来操纵所有类型的对象。
在Java中的所有类都是从Object
这个类继承出来得。Object
这个类是所有类的源头,它是所有类的父类。许多ArrayList
的方法都用到Object
这个终极类型。因为每个类都是对象的子类,所以ArrayList
可以处理任何类。
终极对象有什么? 对象有如下所说的方法:
- equals(Object o) - 这会让你知道是否两个对象可认为是“相等”的
- getClass() - 告诉你此对象是由那个类初始化的
- hashCode() - 列出此对象的哈希代码,你可以把它想成是一个唯一的ID
- toString() - 列出类的名称和一个我们不太关心的数字
在线练习
{$ activeFileHint $}