Java抽象类&具体类&接口小结
一、抽象函数与抽象类
抽象函数:表达概念而没有具体实现的函数。
抽象类:表达概念而无法构造出实体的类,用abstract class定义。
抽象类特点:
(1)抽象类可以有或没有具体方法,但至少有一个抽象方法
(2)抽象类不能用new制造对象,但是可以定义变量;可以定义它的构造方法,可在子类的构造方法中调用。
(3)任何继承该抽象类的具体类都需要实现该抽象类中所有的抽象方法
(4)抽象类不能被实例化,需要在子类中实现其所有抽象函数
二、接口与具体类
接口:当一个抽象类的所有函数都是抽象函数时,就是接口,接口定义用interface。
接口的特点:
(1)接口不能被实例化,只能被类实现或被其它接口继承
(2)接口不能继承类
(3)任何继承该接口的具体类都需要实现该接口中所有的抽象方法
(4)接口可以通过在方法前加default修饰来实现具体方法
具体类:当一个类中没有抽象函数时,就是具体类,由class定义
具体类的特点:
(1)一个具体类可以实现多个接口,但只能继承一个父类
(2)一个具体类必须实现所有其所实现的接口的所有方法
(3)一个具体类在实现接口的方法时不能弱化接口方法的规约