抽象类
抽象类体现的是“模板思想”
模板设计的作用:优化代码的架构,提高代码的复用性,相同功能的代码无需重复书写、可以做到部分实现,部分 抽象,抽象的部分可以交给使用模板的人来实现。
抽象类:有抽象方法的类一定是抽象类 抽象类不一定有抽象方法
抽象类就是要被继承 要不然就失去了意义
抽象类要用abstract修饰
抽象方法也要用abstract修饰
抽象类不能创建对象
如果一个类继承抽象类 那么它必须重写抽象类中的抽象方法,否则该类也必须定义为抽象类。
接口体现的是“规范思想”,是更加彻底的抽象。
实现接口的类必须重写接口中的全部抽象方法
在JDK1.8之前 接口中只能包括 常量 和抽象方法
在JDK1.8之后 接口不再纯洁了,新增了三种方法 :默认方法 静态方法 私有方法
注意:接口中 抽象方法的修饰符 public abstract 可省略,常量 public static final 可省略
默认方法要用default修饰 只能用实现类的对象来调用
私有方法使用private修饰 供接口中的默认方法和私有方法来调用
静态方法只能通过接口名称调用
实现接口的股关键字:implements
当一个类继承了一个父类 又实现了一个接口时 接口和父类中默认方法重名 子类对象就近执行父类的成员方法。
类与类是单继承
接口与接口是多继承
类与接口是多实现