抽象类和接口的区别与联系
抽象类:
1.关键字:abstract
2.定义语法:
访问权限修饰符 abstract class 返回值类型 抽象类类名{
}
3.可以定义的内容:
属性
方法
构造函数
抽象方法
代码块
4.继承关系:
抽象类只能被继承,不能创建对象,(单继承关系).
子类继承该抽象类时,要么子类也是抽象类,要么重写该抽象类所有抽象方法.
接口:
1.关键字:interface
2.定义语法:
访问权限修饰符 interface 接口名{
}
3.可以定义的内容:
公共静态常量(默认使用 public static final 修饰)
公共静态方法()
jdk1.8以后,default修饰的普通方法
抽象方法(默认使用 public abstract 修饰)
4.继承关系:
接口不能直接被创建对象,只能用类去实现(implements)该接口.
子类实现该接口时,要么该类也是抽象类,要写重写该接口中所有抽象方法
一个接口可以继承多个接口,(多继承关系)
一个类可以实现多个接口,(多实现)