標籤:stat 方法 3.1 stc 項目 功能 oid 出現 ext
介面文法
1.介面是一種參考型別,可以等同看作類。修飾符 interface 介面名
2.介面中只能出現常量和抽象方法
3.介面其實是一個特殊的抽象類別,特殊在介面是完全抽象的
4.介面中沒有構造方法,介面也無法執行個體化
5.介面和介面之間可以多繼承
6.一個類可以實現多個介面,這裡的實現等同於繼承
7.一個非抽象的類實現介面,需要將介面中所有方法實現/重寫/覆蓋
#javapackage study1;public interface A{ //常量都是public static final,可省略 public static final String sucess = "SUCCESS"; public static final double pi = 3.14; byte max_value = 127; //介面中所有的抽象方法都是public abstract, public abstract void m1(); //介面方法不能有方法體,如 void m22(){};會提示interface abstract methods cannot have body void m2(); interface B{ void m1(); } interface C{ void m2(); } interface D{ void m3(); } interface E extends B,C,D{ void m4(); } /* extends只能單繼承,implements可以多繼承 如果實現的介面有多個方法,必須覆蓋介面中的方法。 */ class MyClass implements B,C{ public void m2(){} public void m1(){} } class MyClass2 implements E{ public void m1(){}; public void m2(){}; public void m3(){}; public void m4(){}; }}
介面的作用
#javapackage date818;/** * 介面的作用: * 1。可以使項目分離,所有層都面向介面開發,提高開發效率 * 2。介面是代碼和代碼之間的耦合度降低。變得可插拔,可以隨意切換。* 3。介面和抽象類別都能完成某個功能,優先選擇介面,因為介面可以多實現,多繼承。並且一個類除了介面之外,還可以繼承其他類 */public interface CustomerService { //定義一個推出系統的方法 void logout();}package date818;//介面實作類別1public class CustomerServierImpl implements CustomerService { public void logout(){ System.out.println("成功退出系統"); }}package date818;//介面實作類別2public class CustomerServiceImpl2 implements CustomerService{ public void logout(){ System.out.println("hello world"); }}package date818;public class TestCustomer { public static void main(String[] args){ //需要執行CustomerServiceImpl和CustomerImpl2介面實作類別中的logout方法 //以下程式面向介面調用 CustomerService cs = new CustomerServierImpl();//多態。父類型引用指向子類型對象 //調用 cs.logout(); CustomerService cs2 = new CustomerServiceImpl2(); cs2.logout(); }}
java介面定義和作用