應幾個法國巴西和印度小程序員的邀請,程序員
我每週在Facebook上發佈Java系列小文章,與大家也共享一下。小程序
翻譯 | 王楷涵ide
這些都是能夠的。在Java中,一個接口能夠繼承另外的接口;一個抽象類能夠實現一個接口;一個抽象類也能夠繼承一個具體的類。翻譯
例如:blog
interface Worker {
void doSomething();
}
interface ConstructionWorker extends Worker {
void doAnotherthing();
}
ConstructionWorker這個接口繼承了Worker接口。繼承
再來看另一個例子:接口
abstract class Test1 implements ConstructionWorker{
public void doSomething() {
}
abstract void doAdditional();
}
抽象類Test1實現了ConstructionWorker接口,還增長了另一個名爲doAdditional()的抽象方法,而且重寫了定義在Worker接口中的doSomething()方法。it
請注意,在這裏,doSomething()方法必須是public的。由於咱們沒法下降從Worker接口繼承的方法的可見性,默認狀況下,全部的方法都是public的。io
最後,讓咱們看一看一個繼承自具體類的抽象類:class
class RoadWorker implements Worker {
public void doSomething() {
System.out.println("do something.");
return;
}
}
abstract class Test2 extends RoadWorker{
abstract void doAdditional();
}
這些程序都能很流暢地運行,證實了這一點:一個接口能夠繼承自另外一個接口;一個抽象類能實現一個接口;以及一個抽象類能繼承自一個具體類。
小貼士