抽象类和接口
抽象类
关键字 abstract
修饰类:类为抽象类,不能实例化
修饰方法:方法为抽象方法,只有方法的签名,没有方法体
特点:
- 抽象类不能实例化(不能创建对象)
- 子类继承抽象类,必须实现抽象类中所有的抽象方法
- 如果一个类包含抽象方法,那么该类一定要声明为抽象类,否则将会出现编译错误
- 抽象类可以包含抽象方法和非抽象方法(普通方法/构造方法)以及变量
- 抽象类可以有父类,但父类必须有一个无参的构造函数,否则,抽象类必须声明一个与父类参数列表相同的有参构造方法
接口
- 子类实现接口,必须重写接口所有的签名方法
- 接口只有方法的签名和静态常量
- 接口的变量,会默认使用public final static修饰
- 接口的签名方法,会默认使用public abstract修饰
- 接口不能自身实例化,接口的实现类可以实例化
- 接口可以实现多个,而父类只有一个(单亲继承),而且必须先继承父类再实现接口
实现类 :implements实现接口关键字
public class Person extends A implements God ,C{
}