JavaSE基础
接口于抽象类的异同点
相同点
- 都不能创建 对象
- 都可以定义抽象方法, 且一定要在 子类中重写.
不同点
- 关键字不同 abstract / interface
- 抽象方法 中既可以有抽象方法也可以有普通的方法
- 接口 中所有的方法都是抽象方法
- 抽象类 的方法可以任意权限, 接口 中的方法只能是public
- 抽象类 只能单继承, 接口 可以多实现
重载( overload ) 与重写( overwrite ) 区别
- 定义不同 :重载是定义相同的方法名、参数不同,重写是子类重写父类的方法
- 范围不同 :重载是在一个类中,重写是子类与父类之间的
- 多态不同 :重载是编译时的多态性,重写是运行时的多态性
- 参数不同 :重载的参数个数、参数类型、参数的顺序可以不同,重写父类子方法参数必须相同
- 修饰不同 :重载对修饰范围没有要求,重写要求重写方法的修饰范围大于被重写方法的修饰范围
多态是一个类需要表现出多种形态,子类重写父类的方法,使子类具有不同的方法实现