(1)、abstract class 可以包含普通成员变量,而 interface 只能包含静态常量(即 public static final)。(2)、abstract class 可以包含非抽象方法,而 interface 中的所有方法都默认为抽象方法。(3)、一个类只能继承一个 abstract class,但可以实现多个 interface。
// 方案1:只使用抽象类abstractclassDoor{abstractvoidopen();abstractvoidclose();abstractvoidalarm();}// 具体使用时classAlarmDoorextendsDoor{voidopen(){}voidclose(){}voidalarm(){}}// 方案2:只使用接口interfaceDoor{voidopen();voidclose();voidalarm();}// 具体使用时classAlarmDoorimplementsDoor{voi...
(1)、abstract class 可以包含普通成员变量,而 interface 只能包含静态常量(即 public static final)。 (2)、abstract class 可以包含非抽象方法,而 interface 中的所有方法都默认为抽象方法。 (3)、一个类只能继承一个 abstract class,但可以实现多个 interface。
1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。 但是,一个类却可以实现多个interface。 2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法, 而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的, 不过在 interface中一般不...
二、从语法定义层面看abstract class和interface 在语法层面,Java语言对于abstract class和interface给出了不同的定义方式,下面以定义一个名为Demo的抽象类为例来说明这种不同。 使用abstract class的方式定义Demo抽象类的方式如下: abstract class Demo { abstract void method1(); ...
在语法层面,Java语言对于abstract class和interface给出了不同的定义方式,下面以定义一个名为Demo的抽象类为例来说明这种不同。 使用abstract class的方式定义Demo抽象类的方式如下: abstract class Demo{ abstract void method1(); abstract void method2(); ...
E. abstract class是interface与Class的中介。 interface是完全抽象的,只能声明方法,而且只能声明pulic的方法,不能声明private及protected的方法,不能定义方法体,也 不能声明实例变量。然而,interface却可以声明常量变量,并且在JDK中不难找出这种例子。但将常量变量放在interface中违背了其作为接 口的作用而存在的宗旨,也...
A. interface需要实现,要用implements,而abstract class需要继承,要用extends。 B. 一个类可以实现多个interface,但一个类只能继承一个abstract class。 C. interface强调特定功能的实现,而abstract class强调所属关系。 D. 尽管interface实现类及abstrct class的子类都必须要实现相应的抽象方法,但实现的形式不同。interf...
接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的...
1、抽象类可以包含非抽象的方法,而接口中的方法必须是抽象的。 2、继承抽象类在Java语言体系中体现一种继承关系,在合理的继承关系中,父类和派生类比如按存在is-a关系。而实现接口则体现一种has-a关系,实现者仅仅是实现了interface定义的契约而已。 3、抽象类中可以有成员变量,而接口中不能...