接口与抽象类的总结

来源:互联网 发布:什么决定命运知乎 编辑:程序博客网 时间:2024/06/16 02:42

抽象类(abstract class)

抽象类(abstract class):使用了abstract关键字所修饰的 类叫做抽象类。抽象类无法实例化,也就是说,不能new出来一个抽象类的对象(实例)

抽象方法(abstract method):使用abstract关键字所修饰的方法叫做抽象方法。抽象方法需要定义在抽象类中。相对于抽象方法,之前所定义的方法叫做具体方法(有声明,有实现)。

如果一个类包含了抽象方法,那么这个类一定是抽象类。

如果某个类是抽象类,那么该类可以包含具体方法(有声明、有实现)。

如果一个类中包含了抽象方法,那么这个类一定要声明成abstract class,也就是说,该类一定是抽象类;反之,如果某个类是抽象类,那么该类既可以包含抽象方法,也可以包含具体方法。

无论何种情况,只要一个类是抽象类,那么这个类就无法实例化。

在子类继承父类(父类是个抽象类)的情况下,那么该子类必须要实现父类中所定义的所有抽象方法;否则,该子类需要声明成一个abstract class。

接口(interface):

接口(interface):接口的地位等同于class,接口中的所有方法都是抽象方法。在声明接口中的方法时,可以使用abstract关键字,也可以不使用。通常情况下,都会省略掉abstract关键字。

可以将接口看作是特殊的抽象类(抽象类中可以有具体方法,也可以有抽象方法,而接口中只能有抽象方法,不能有具体方法)。

类可以实现接口。实现使用关键字implements表示,代表了某个类实现了某个接口。

一个类实现了某个接口,那么该类必须要实现接口中声明的所有方法。如果该类是个抽象类,那么就无需实现接口中的方法了。

Java是单继承的,也就是说某个类只能有唯一一个父类;一个类可以实现多个接口,多个接口之间使用逗号分隔。




2 0
原创粉丝点击