校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > java语言 > abstract
题目

抽象类(abstract class)和接口(interface)有什么异同?(阿里面试)

解答

不同点:

● 抽象类中可以定义构造器,接口不能;

● 抽象类可以有抽象方法和具体方法,接口不能有具体方法;

● 接口中的成员全都是 public 的,抽象类中的成员可以使用private、public、protected、默认等修饰;

● 抽象类中可以定义成员变量,接口中只能是常量;

● 有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法;

● 抽象类中可以包含静态方法,接口中不能有静态方法;

● 一个类只能继承一个抽象类,一个类可以实现多个接口;

相同点:

● 不能够实例化;

● 可以将抽象类和接口类型作为引用类型;

● 一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类;

C 0条回复 评论

帖子还没人回复快来抢沙发