java接口定義和作用
阿新 • • 發佈:2018-08-22
oid 覆蓋 imp 開發 實現類 ava 提示 接口實現 都是
接口語法
1.接口是一種引用類型,可以等同看作類。修飾符 interface 接口名
2.接口中只能出現常量和抽象方法
3.接口其實是一個特殊的抽象類,特殊在接口是完全抽象的
4.接口中沒有構造方法,接口也無法實例化
5.接口和接口之間可以多繼承
6.一個類可以實現多個接口,這裏的實現等同於繼承
7.一個非抽象的類實現接口,需要將接口中所有方法實現/重寫/覆蓋
#java package 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(){}; } }
接口的作用
#java package date818; /** * 接口的作用: * 1。可以使項目分離,所有層都面向接口開發,提高開發效率 * 2。接口是代碼和代碼之間的耦合度降低。變得可插拔,可以隨意切換。 * 3。接口和抽象類都能完成某個功能,優先選擇接口,因為接口可以多實現,多繼承。並且一個類除了接口之外,還可以繼承其他類 */ public interface CustomerService { //定義一個推出系統的方法 void logout(); } package date818; //接口實現類1 public class CustomerServierImpl implements CustomerService { public void logout(){ System.out.println("成功退出系統"); } } package date818; //接口實現類2 public 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接口定義和作用