接口、抽象类、虚方法

来源:互联网 发布:刘强东当村长 知乎 编辑:程序博客网 时间:2024/05/17 06:09

接口

1.接口只提供方法规约,不提供方法体;

2.接口中的方法不能用关键字修饰;

3.接口里不能有接口和变量;

4.接口里的方法在子类中必须全部实现;

5.接口可以实现多重继承;

抽象类

1.抽象类可以从接口继承;

2.抽象类中的实体方法在子类中不可以重写,只可以被引用;

3.抽象类中的抽象方法不可以有方法体,抽象类中的抽象方法在子类中必须重写;

4.抽象类中的虚方法在子类中可以选择性的重写;

虚方法

1.可以在子类选择性的重写;

2.不重写也可被子类调用;

接口与抽象类的异同

1.抽象类的抽象方法和接口内的方法,在子类中必须全部被实现;

2.抽象方法和接口中的方法都不可以有方法体;

抽象方法与虚方法的异同

1.抽象方法所在的类必须是抽象类,虚方法可以在任何类里;

2.抽象方法必须被重写,虚方法的重写有选择性;

3.抽象方法不可以被子类调用,虚方法可以被子类调用;

4.抽象方法不可以有方法体,虚方法必须有方法体

 

  抽象类中可以有抽象方法和非抽象方法 一个类只要有一个抽象方法,则类必须是抽象类   抽象方法只能包含在抽象类中

对比记忆

静态类中只能包含静态成员  静态成员只能够使用其他的静态成员   静态成员可以包含在非静态类中,通过类名.方法名进行访问。

 

接口是否可以有虚方法  答案:虚方法必须有方法体而抽象方法和接口都不可以有方法体。

0 0