Java中的接口多繼承機制
問題原因
今天在看集合源碼的時候,突然看到接口繼承接口,覺得有點差異,以前寫代碼也就是類繼承一個類,實現接口。這樣寫的多瞭,突然看到接口繼承接口就有點詫異瞭,以為哪裡不對。就測試,查閱瞭一些資料
一個接口可以同時繼承多個接口
書寫接口測試
public interface Jiekou extends Jiekou1,Jiekou2{ void jiekou(); } public interface Jiekou1 { void jiekou1(); } public interface Jiekou2 { void jiekou2(); } public interface Jiekou3 { void jiekou3(); }
如上,是沒有問題的,所以Java是支持接口多繼承
接口不能實現任何接口
代碼驗證
public interface Jiekou implements Jiekou2{ void jiekou(); }
如圖提示:No implements clause allowed for interface
如上-接口不能實現任何接口
一個類可以實現多個接口
類實現多接口代碼
public class Aggregate implements Jiekou,Jiekou3{ @Override public void jiekou() { } @Override public void jiekou1() { } @Override public void jiekou2() { } @Override public void jiekou3() { } }
如上 類實現多接口也是沒有問題的
一個類隻能繼承一個父類
首先構建父類和子類代碼
public class FatherOne { } public class FatherTwo { } //類繼承一個類是沒有問題的 public class Son extends FatherOne{ }
如果多個類就會提示你: Class cannot extend multiple classes
總結:
一個類隻能extends一個父類,但可以implements多個接口。java通過使用接口的概念來取代C++中多繼承。與此同時,一個接口則可以同時extends多個接口,卻不能implements任何接口。因而,Java中的接口是支持多繼承的。
到此這篇關於Java中的接口多繼承機制的文章就介紹到這瞭,更多相關Java接口繼承內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!