1. 程式人生 > >介面抽象類簡要總結

介面抽象類簡要總結

抽象類和介面區別(1.8版本後)

介面

抽象類

實現方式

多重實現

只能單繼承

構造方法

可以有構造方法

方法

原來只能有抽象方法,1.8後可以有靜態方法和 default方法(用default關鍵字修飾的方法),也就是介面中可以有實現方法

可以有預設方法的實現。可以有main方法

屬性

public static final

各種修飾符均可

public class Main {

       public static void main(String[] args) { 

               JDK8Interface.staticMethod();     // static方法必須通過介面類呼叫               

               new JDK8InterfaceImpl().defaultMethod();  //default方法必須通過實現類的物件呼叫     

     }  

}  

public class JDK8InterfaceImpl implements JDK8Interface { 

    //實現介面後,因為預設方法不是抽象方法,所以可以不重寫,但是如果開發需要,也可以重寫 

} 

public interface jiekou {

       public default int fun() {

              System.out.print("我是預設方法,子類可以不重寫");

       }

       public static int fun2() {

              System.out.print("我是靜態方法,子類可以不重寫");

       }

       public abstract int fun3();//抽象的方法,子類要有具體實現,不能有方法體

}