抽象类要注意的细节:
- 如果一个函数没有方法体,那么该函数必须要使用abstract修饰,把该函数修饰成抽象函数
- 如果一个类出现了抽象函数,那么该类也必须使用abstract修饰
- 如果一个非抽象类继承了抽象类,那么必须要把抽象类的所有抽象方法实现
- 抽象类可以存在非抽象方法,也可以存在抽象方法
- 抽象类可以不存在抽象方法
- 抽象类不可以实例化
- 抽象类存在构造函数,其构造函数是提供给子类创建对象的时候初始化父类的属性的
- abstract不能与private、static、final三个关键字共同修饰一个方法
接口要注意的细节:
- 接口是一个特殊的类
- 接口的成员变量默认修饰符为public static final,即接口的成员变量都是常量
- 接口中的方法都是抽象方法,默认修饰符为public abstract
- 接口不能实例化
- 接口没有构造函数
- 接口是给类去实现使用的,非抽象类实现一个接口,必须要把接口中所有方法全部实现