您好,登錄后才能下訂單哦!
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(); } }
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。