中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中接口的作用是什么

發布時間:2020-06-28 19:49:03 來源:億速云 閱讀:850 作者:元一 欄目:編程語言

java中接口的作用是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

接口的定義:

Java接口是一系列方法的聲明,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現,因此這些方法可以在不同的地方被不同的類實現,而這些實現可以具有不同的行為(功能)。

兩種含義:一,Java接口,Java語言中存在的結構,有特定的語法和結構;二,一個類所具有的方法的特征集合,是一種邏輯上的抽象。前者叫做"Java接口",后者叫做"接口"。

在Java語言規范中,一個方法的特征僅包括方法的名字、參數的數目和類型,而不包括方法的返回類型、參數名以及所拋出來的異常。在Java編譯器檢查方法的重載時,會根據這些條件判斷兩個方法是否是重載方法。但在Java編譯器檢查方法的置換時,則會進一步檢查兩個方法(分處超類型和子類型)的返還類型和拋出的異常是否相同。

接口的作用:

1、可以使項目分離,所有層都面向接口開發,提高開發效率;

2、接口使代碼和代碼之間的耦合度降低,變得可插拔,可以隨意切換;

3、接口和抽象類都能完成某個功能,優先選擇接口,因為接口可以多實現,多繼承,并且一個類除了接口之外,還可以繼承其它類。

(視頻教程推薦:java視頻教程)

代碼示例:

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();
    }
}

定義接口

package date818;
public interface Engine {    //所有發動機都可以通過這個接口啟動
    void start();
}//定義實現接口的類
package date818;
public class Honda implements Engine{    
    public void start(){
        System.out.println("本田啟動");
    }
}
package date818;public class Ymaha implements Engine{    
    public void start(){
        System.out.println("雅馬哈啟動");
    }
}//定義生產汽車的類package date818;public class Car {    //面向接口編程,不能將類實例化
    /**
     * 引用接口定義一個屬性e,相當于
     * String name;
     * Integer age;
     * 類里定義的變量是成員變量;方法里定義的變量是局部變量。
     */
    Engine e ;//成員變量e

    Car(Engine e){        //定義構造方法,把局部變量e賦值給成員變量
        this.e=e;
    }    //對外提供的測試方法
    public void testEngine(){        //成員變量e
        e.start();
    }
}//定義測試類package date818;public class TestCar {    
    public static void main(String[] args){        //生產引擎
        Engine e = new Ymaha();        //根據構造方法傳入參數生產汽車
        Car c = new Car(e);        //測試引擎
        c.testEngine();

        c.e = new Honda();//已經定義了一個實例,直接對實例的參數修改即可
        c.testEngine();
    }
}

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

米易县| 金堂县| 彭水| 巫溪县| 四会市| 横峰县| 陆丰市| 达拉特旗| 济阳县| 莎车县| 新郑市| 买车| 峨眉山市| 营口市| 盐亭县| 松原市| 兴文县| 开远市| 中宁县| 常熟市| 华蓥市| 唐河县| 诏安县| 巫溪县| 施秉县| 老河口市| 南澳县| 桦川县| 德清县| 门头沟区| 马公市| 抚州市| 南郑县| 古田县| 河西区| 重庆市| 百色市| 泽库县| 南通市| 常德市| 托里县|