抽象类和方法
抽象方法是没有方法体的方法,得用abstract做修饰。
抽象方法必须用public或者protected默认是public。
抽象类不能直接被实例化,抽象类必须有子类使用extends继承。
子类必须覆盖(如果子类不是抽象类)则必须覆盖所有的抽象方法。抽象类的普通方法可以选择是否覆盖。
抽象类有构造方法,目的是为了属性的初始化。
抽象类不能使用final因为必须有子类。
外部抽象类不能使用static但是内部抽象类可以。用extends A.B继承内部抽象类。
抽象类和借口的区别
接口定义的成员变量默认三public static final 修饰的静态常量,接口的方法默认是public abstract。
接口没有构造方法但是抽象类有。
抽象类可以包含普通方法但是接口不可以默认是public abstract。
抽象类只可以单继承接口可以多继承。
面对对象的特性
继承封装和多态。
多态指的是允许不同子类型的对象对同一消息作出的不同响应。多态性又分为编译时的多态性和运行时的多态性。方法的重载就是编译时的多态性,而方法重写就是允许时的多态性。