多语言展示
当前在线:125今日阅读:142今日分享:25

java中接口跟抽象类该如何选择?

在我们编写程序的时候,我们有时候经常会遇到一些共有的方法,为了使代码的耦合度高,后期维护方便,我们需要将他们抽象出来放到一个父类中,或者工具类中,以便我们修改或者更新的时候方便.
工具/原料

电脑,java程序员

方法/步骤
1

抽象类是类,接口是接口简单点说就是:抽象类的子类不能再继承其他的类,可以实现多个接口.因为java是单继承的.如果说目前有一个类已经继承(extends)其他类了,如果这个时候又有一个父类出现,那么只能定义为他的父类为接口,不能定义为抽象类

2

抽象类中除了能定义抽象方法以外,也可以定义具体的方法,并且可以定义方法体内容.接口中是不可以定义具体的方法实现,他只能允许你定义方法但是不能有任何方法体.

3

创建过程中的写法不一样一个是abstract class 类名,另一个是interface 名字.

4

概念上的区别:抽象类:如果一个类中没有包含足够的信息来描述一个具体的对象,这样的类就是抽象类.接口是一种特殊的抽象类.可以这么理解,接口是抽象类的一种特殊表现,有自己的一套规范约束在里面.

5

实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。

6

在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。

注意事项

图片有时候跟文字说明不配套

推荐信息