一.含义
1 .类(class ) :将同一类的对象集中在一起构成类,属性)特征)、方法)、结构方法。
2 .抽象类(abstract class )包含抽象方法的类;
抽象的方法只有定义,没有具体实现的方法体;
对抽象方法的调用实际上是调用重写的非抽象方法
包含抽象方法的类必须是抽象类,但抽象类中不一定有抽象方法。
3 .接口(interface ) :是完全抽象的类,没有提供具体实现
一个Java类只能直接继承另一个类。 不允许一个子类继承多个父类,但允许一个子类继承一个父类并实现多个接口。
二.类、接口、抽象类之间的区分
1 .接口(老板) )只提供一种方法,他自己不做;
抽象类(经理) :提供方法。 有些人他自己做,其他人做。
班(员工) )什么都做,必须实现。
三.抽象类和接口的区别和联系
联系人:
(1)两者都是抽象的,不能实例化
)2) interface的实现类和abstract的子类必须实现声明的抽象方法。
区别开来
)一个类只能继承一个抽象类,但一个类可以实现多个接口
)接口强调功能的实现,abstract class强调隶属关系;
)3) interface中的所有方法都是抽象方法,没有方法主体。 其实现类必须包含用于实现接口的实现方法。 您也可以选择性地在abstract class的子类中实现抽象方法。
)4)接口是完全抽象的,在接口中只能声明方法。 另外,必须用public abstract修饰,不能是private和protected。 接口没有方法主体,但abstract class具有非抽象方法。
)5)接口定义的变量为public static final型,需要初始值。 在实现类中不能重新定义或更改,但在抽象类中可以重新定义,可以重新赋值。