抽象类是类名由 abstract 修饰的,抽象类可以有 abstract 方法,也可以有非 abstract 方法,抽象方法只允许声明,不允许实现,而且不允许使用 final 和 abstract 同时修饰一个方法,下面类A中的方法min()就是 abstract 方法。
class A
{
abstract int min(int x,int y);
}
抽象类不能用new运算符创建对象,但是它的非抽象子类需要重写它的全部abstract 方法,这样就可以让该抽象类声明的对象成为其子类对象的上转型对象,并调用子类的重写方法。
接口使用关键字interface来声明,接口体中包含常量定义和方法定义两部分,接口体中只进行方法的声明,不允许提供方法的实现,所以方法的定义没有方法体,例如:
interface Printable
{
final int max=100;//成员变量必须是常量
void add();
flaot sum(float x,float y);
}
因为java不支持多继承性,即一个类只能有一个父类,所以java使用了接口,一个类可以实现多个接口 |