# interface - 只有抽象方法,沒有一般方法 - 其實可以放靜態方法等 - 沒有變數只有常數 - 當抽象方法大於一個的時候,不適合建立實體 - 專案中某功能的最高或第二層父類別,可以透過方法的傳入進行實作方法 ```java= public class MainTest { //第一種寫法 public void getInterface() { setInterface(new MyBtn() { @Override public void myClick() { // TODO Auto-generated method stub } }); } private void setInterface(MyBtn myBtn) { // TODO Auto-generated method stub } } //第二種寫法 public void getInterface2(){ getMethod01(new MyBtn(){ //需要實作的方法 }); } public void getMethod(MyBtn m){ m.method01(); } ``` - `*.java`原則上為單繼承、多實作 - 透過`implements+interface`實現多繼承的功能 - interface與interface之間是可以互相繼承的關係,並可多繼承;interface與class屬於後者實作前者的關係 - 沒有建構子