01、
来看网络上对接口的一番解释:
接口(英文:Interface),在 Java 编程语言中是一个抽象类型,是抽象方法的集合。一个类通过继承接口的方式,从而来继承接口的抽象方法。
兄弟们,你们怎么看,这段解释把我绕得晕乎乎的,好像喝过一斤二锅头。到底是解释抽象类呢还是接口呢?傻傻分不清楚。
搞不清楚要用抽象类还是接口,就先来看看两者之间的区别。来,抽象类和接口,你俩过来比比身高。
- 抽象类中的方法可以有方法体,能实现方法具体要实现的功能,但是接口中的方法不行,没有方法体。
- 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是
public static final
类型的,并且是隐式的,缺省的。 - 接口中不能含有静态代码块以及静态方法(用
static
修饰的方法),而抽象类是可以有静态代码块和静态方法的。 - 一个类只能继承一个抽象类,而一个类却可以实现多个接口。
02、
好像知道了两者之间的区别,但印象还是有些模糊。没关系,我们进一步深入。
抽象类
抽象类体现了数据抽象的思想(不然呢),是实现多态的一种机制。抽象类定义了一组抽象的方法,至于这组抽象方法的具体表现形式由子类来继承实现。
抽象类就是用来继承的,否则它就没有存在的任何意义。举个例子,我们来定义一个抽象的作者类。
abstract class Author {
abstract void write ();
public void sleep () {
System.out.println("吃饭睡觉打豆豆");
}
}
复制代码
作为一名作者,本职工作就是搞写作的,其他时间就吃饭睡觉打豆豆;但至于能写出