JAVA的三大特性:封装、继承、多态
封装:把对象的属性和操作结合为一个独立的整体,并尽可能隐藏对象的内部实现细节
封装的优点:1、良好的封装能够减少耦合 2、类内部的结构可以自由修改 3、可以对成员变量进行更精确的控制
4、隐藏对象的内部实现细节
抽象类和接口的对比
1、成员变量:抽象类的成员变量是普通变量,而接口的成员变量是公共静态常量
2、构造方法:抽象类有构造方法但不能实例化,而接口没有构造方法也不能实例化
3、成员方法:抽象类的方法可以有抽象方法,也可以没有抽象方法。接口的方法默认是public abstract修饰,
接口JDK8后有静态方法和default方法,子实现类默认实现default方法,JDK9后添加私有方法,用于方法的抽取
4、继承关系:抽象类只能单继承,接口可以多继承
总结:抽象类是重构的结果,接口是设计的结果
多态:是同一个行为具有多个不同表现形式或形态的能力(同一个接口,使用不同的实例来执行不同的操作)
多态实现方法:重写、接口、抽象类和抽象方法
多态的优点:1、消除类型之间的耦合关系 2、可替换性 3、可扩充性 4、接口性 5、灵活性 6、简化性
抽象词的定义:接口或抽象类
参照来源:https://www.jianshu.com/p/bd607432d474及“菜鸟教程官网”