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