包含抽象方法的类叫做抽象类。(抽象方法仅有申明而没有方法体)[code]//正确的
abstract class A
{
abstract void f();
}
//编译器报错 一个类包含一个或多个抽象方法必须声明为抽象类
class B
{
abstract void f();
}[/code]interface关键字产生了一个完全抽象的类,它根本没有提供任何具体实现,它允许创建者确定方法名,参数列表和返回类型,但是没有任何方法体(接口只提供了一种规范,而没有任何具体实现。interface不仅仅是一个极度抽象的类,还允许人们通过创建一个能够被向上转型为多种基类的类型,来实现某种类似多重继变种的特性)。[code]//interface前可以添加public关键字,如果不添加则只具有包访问权限
interface Instrument
{
int VALUE = 5;
void play(Note n);
void adjust();
}
class Wind implements Instrument{
public void play(Note N){
print(this + ".play()" + n);
}
public void adjust(){
print(this + ".adjust()");
}
}[/code]接口可以继承接口;抽象类可以实现(implements)接口 |