抽象类的特点
- 抽象类和抽象方法必须用 abstract关键字修饰
- abstract class 类名{}
- public abstract void 方法名{}
- 抽象类中可以没有抽象方法 抽象方法一定要定义在抽象类中
- 抽象类的实例化
重写所有抽象方法 - 抽象类的子类
- 抽象类
- 不抽象 但要重写所有抽象方法
抽象类中没有抽象方法也可以定义为抽象类 目的是不让去其他类创建本类对象 ,交给子类完成 (私有构造方法更狠 子类都不能继承了)
abstract不能和那些关键字共存
- static
被abstract修饰的可以使用类名.方法名调用 但是类名.方法名调用抽象方法没有意义
- final
被abstract修饰的方法强制子类重写,但是final修饰的类不让子类重写
- private
被abstract 修饰是为了让子类看得到并重写 private修饰不让子类访问
接口
接口中全都是抽象方法
接口的成员特点
- 成员变量
默认只能是 public static final
建议手写
- 成员方法
默认只能是 public abstract
建议手写
接口没有构造方法
类 接口 之间的关系
-
类与类之间 单继承
-
类与接口 可以单实现 可以多实现还可以在继承一个类的同时实现接口
-
接口和接口 单继承 多继承
interfance interC extends interB , interC
// 只有接口有多继承 打破了单继承的局限性
网友评论