面试题 1.抽象类和接口有什么区别

1.抽象类和接口有什么区别?
答:抽象类和接口很相似,有时候甚至可以互换,但是也有很大的区别。
1.接口是公开的,不能有私有,抽象类可以有私有。
2.如果一个类中有抽象方法,那么他必须是抽象类。
3.接口中的所有方法都没有方法体。
4.抽象类可以声明方法的存在而不去实现它
5.抽象类的子类实现方法必须有相同或者更高级别的访问级别
6.抽象类不能被实例化,可以创建一个对象指向其具体子类的一个实例
7.抽象类的子类实现父类所有的抽象方法,否则他们也是抽象类
相同点:
1.都不能被实例化
2.接口的实现类或者抽象类的子类只有实现了他们各自的方法后才能被实例化
不同点
1.接口只能定义方法,不能实现,抽象类可以
2.关键字不同,抽象类是extend继承,接口是implements实现
3.一个类可以实现多个接口,不能继承多个抽象类
4.接口中的成员变量默认public static final,必须给初值,所有成员方法都是public abstract
抽象类中的成员变量默认是default,也可以是其他的三个,抽象方法必须是抽象方法,前面加abstract
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章