最近在看《Head First Java》,Head First系列就是奔着通俗易懂去的,作为对java掌握还不深,先把这本书看透,打一个好的基础
抽象类除了被继承之外,是没有用途、没有值,没有目的的
抽象类可以有static成员
抽象的类代表此类必须要被extend过,抽象的方法代表此方法一定要被覆盖
抽象方法没有方法体,直接以分号结束,因此继承树结构下的第一个具体类必须要实现出所有抽象的方法
public abstract void eat();
java中的所有类都是从Object这个类继承出来的,没有直接继承过其他类的类会是隐含的继承对象。
Object这个类有:
boolean
equals(Object o) 判断两个对象是否可认为是”相等的“
Class getClass() 告诉这个对象属于哪个类
int hashCode() 列出此对象的hash
String toString() 输出"类的名字@6位随机数字"
Object类不是抽象类,每个类默认继承Object,不需要重写Object的方法,所以判定不是抽象的
Object中的部分方法可以覆盖,但有些标记为final,代表不能覆盖他们。强烈建议自己写的类覆盖掉hashCode,
equals,以及toString