全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  应聘面试  >  软件测试面试题

简述JAVA中抽象类(abstract class)和接口(interface)有什么异同?

发布时间:2022-08-29 11:14:11
发布人:wjy

公司:#小米 #滴滴 

岗位:#自动化测试工程师 

关键字:#adb #Android #移动端app #Appium #java 

相同点: 

1、都不能被实例化 

2、接口的实现类或者抽象类的子类都必须实现了接口或抽象类中的方法后才可以被实例化 

不同点: 

1、抽象类可以包含非抽象的方法,而接口中的方法必须是抽象的。 

2、继承抽象类在Java语言体系中体现一种继承关系,在合理的继承关系中,父类和派生类比如按存在is-a关系。而实现接口则体现一种has-a关系,实现者仅仅是实现了interface定义的契约而已。 

3、抽象类中可以有成员变量,而接口中不能有成员变量。 

4、抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的属性可以是任意的,而接口中的静态成员变量默认且必须是public static final。 

5、接口中的抽象方法默认且必须都是public的,而抽象类中的抽象方法可以是public、protect或默认。 

6、抽象类中可以有构造方法,但是不能实例化。

7、抽象类中可以有静态方法(非抽象的),而接口中不能有静态方法。

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

相关文章

软件测试公司面试题:如何确保软件的质量和稳定性

2023-07-28

软件测试公司面试题:黑盒测试和白盒测试区别

2023-07-27

软件测试公司面试题:什么是“边界值测试”?

2023-07-26

软件测试公司面试题:过去项目中遇到的最具挑战性的软件缺陷,如何发现和解决的?

2023-07-24

软件测试公司面试题:"冒烟测试"的概念和作用

2023-07-21

软件测试工程师要掌握哪些专业技能

2023-03-07
在线咨询 免费试学 教程领取