java面试基础题------》抽象类和接口有什么异同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面试基础题------》抽象类和接口有什么异同相关的知识,希望对你有一定的参考价值。

划重点!!!!

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

相同点

* 都不能被直接实例化,都可以通过继承实现其抽象方法
* 都是面向抽象编程的技术基础,实现了诸多的设计模式。

不同点

* 接口支持多继承;抽象类不能实现多继承
* 接口其中的抽象方法全部进行实现
* 接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现的成员。
* 接口是一组行为规范;抽象类是一个不完全的类,着重族的概念。
* 抽象类未必要有抽象方法
* 接口只包含方法、属性、索引器、事件的签名,但不能定义字段和包含实现的方法;抽象类可以定义字段、属性、包含有实现的方法。
* 接口可以作用于值类型引用类型;抽象类只能作用于引用类型。例如,Struct就可以继承接口,而不能继承类。
* 接口中的成员全都是public的,接口中定义的成员变量实际上都是常量。
* 接口中方法都为抽象方法
 

 

















以上是关于java面试基础题------》抽象类和接口有什么异同的主要内容,如果未能解决你的问题,请参考以下文章

Java常用面试题

Java常用面试题

Java基础面试每日3题:day02

2021最新Java高频精选面试题分享,超详细

[转]java抽象类和接口

《Java 基础系列》初步整理