多态有关知识点
接口
*** 接口**是一个引用数据类型 也是最后一个数据类型 , 讲完这个数据类型才算是真的学完
- 他可以看作是一种特殊的类 , 是java为了解决没有多继承引起的功能变弱的问题
- 一个类只能有一个父类 , 但是可以实现N个接口
- 创建接口的方式由 class变为了interface 而父子关系由extends变为了implements
- 类和类 使用extends 并且单继承
- 类和接口 使用implements 多实现 多个以逗号隔开 比如 class A implements B,C,D
- 非抽象方法在使用接口的时候 需要实现所有的方法 . 抽象类在使用的时候不需要
- 接口和接口 用extends 并且是多继承 比如 interface A extends B,C,D
-
- **语法 :
-
public interface 接口名{
-
}
- 接口可以看作是一个特殊的抽象类 , 很多时候 接口和抽象类都可以做到某一件事 优先使用接口 , 因为,接口和类之间是多实现
- 且使用接口还可以保留类的继承
- 在接口里 变量默认是常量 公共的 静态的 最终的(不可更改 即常量) public static final (psf)
-
方法默认是抽象方法 public abstract
抽象类
-
- 抽象类就是用来被继承的 抽象方法就是用来被覆写的 被abstract修饰过后就不能有实例化对象
- 抽象类可以继承抽象类 这样不需要实现父类的所有功能 , 而非抽象类继承抽象类的时候 , 需要实现抽象类的所有功能
- 使用abstract修饰的方法可以不用加方法体{ } abstract 和 final 不能同时出现
- @杜智慧
- @Date 2021年1月15日
*/
public class _01_Abstract extends Animal {
// 继承的抽象类有几个功能 . 这个里面就得有几个 只能多不能少
public _01_Abstract(){
System.out.println(“构造方法”);
}
public void animal() {
System.out.println(“薛定谔的猫”);
}
}
// 抽象类
abstract class Animal{
public Animal(){
System.out.println(“构造方法”);
}
public abstract void animal(); // 使用abstract修饰的方法可以不用加方法体{ }
}