继承
-
子类拥有父类非 private 的属性、方法
-
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展
-
Java 的继承是单继承,但是可以多重继承
-
子类不继承父类的构造器,只是调用(隐式或显式)
-
如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器
重写和重载
- 重写
-
同名同参
-
两个小于等于:
-
子类方法返回值类型小于等于父类方法
-
子类方法抛出的异常小于等于父类方法
-
-
一个大于等于:
- 子类方法的访问权限大于等于父类方法
- 重载
-
同名不同参
-
返回类型、访问权限、异常可自定义
抽象类
-
抽象类不能被实例化
-
子类必须实现抽象父类的所有抽象方法,除非子类也是抽象类
-
包含抽象方法的类必须声明为抽象类
-
构造方法和static方法不能声明为抽象方法
接口
-
接口不能实例化
-
接口没有构造方法
-
接口中的变量默认声明为“public static final”
-
接口中的方法默认声明为“pubic abstract"
抽象类和接口的区别
多态
-
多态三要素
- 继承
- 重写
- 父类引用子类对象
-
多态的实现方式
- 重写
- 接口
- 抽象类、抽象方法