一:抽象类
用关键字abstract修饰的类称为abstract类(抽象类)
- abstract不能用new运算符创建对象
- 不能用final修饰
- abstract类里面既可以有abstract方法,也可以有非abstract方法
- 如果一个abstract类是abstract的子类,它既可以重写父类的abstract的方法,也可以继承abstract这个方法
- 命名规范:一般以Abstract开头
二:抽象方法
用关键字abstract修饰的类称为abstract类(抽象类)
- 只允许声明,不允许实现(没有方法体),不能被final,private,static修饰.
- 抽象方法必须定义在抽象类或接口中.
三:抽象类与普通类的区别
- 普通类有的成员(方法,字段,构造器),抽象类都有
- 若一个普通类继承了抽象类,那么必须重写父类抽象方法
四:接口
- 没有构造方法,不能实例化
- 接口只能继承接口,不能继承类,且接口支持多继承,类是单继承
- 使用interface来定义一个接口
- 接口体里面只有抽象方法和常量
- 接口体里面的抽象方法和常量一定都是public(允许省略public,abstract)
五:实现接口
- 用implements实现接口
- 用接口回调实现多态