91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

三门县| 东乡族自治县| 枞阳县| 保靖县| 渑池县| 汶川县| 冕宁县| 集贤县| 司法| 吕梁市| 芦山县| 揭阳市| 隆德县| 皋兰县| 香河县| 沙坪坝区| 浦江县| 京山县| 乐昌市| 高雄县| 方山县| 桐庐县| 金阳县| 陵水| 台东市| 道真| 韩城市| 新龙县| 双牌县| 新田县| 绥化市| 竹溪县| 上虞市| 瑞昌市| 平遥县| 三河市| 安陆市| 蓬溪县| 桂林市| 陵川县| 资阳市|