日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 中接口 interface 实例介绍

發布時間:2025/3/15 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 中接口 interface 实例介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接口(interface)

有時必須從幾個類中派生出一個子類,繼承它們所有的屬性和方法。但是,Java不支持多重繼承。有了接口,就可以得到多重繼承的效果。

接口(interface)是抽象方法和常量值的定義的集合。

從本質上講,接口是一種特殊的抽象類,這種抽象類中只包含常量和方法的定義,而沒有變量和方法的實現。

接口定義舉例

public interface Runner int id = 1public void start()public void run()public void stop() }

案例:

蝙蝠會飛,又會用牙齒咬

首先定義一個飛行的接口:

package cn.com.Classwork190124;/*如果一個類中,既有抽象方法,又有非抽象方法,那么該類只能定義為抽象類,不能定義為接口如果一個類中,只有抽象方法,沒有非抽象方法,那么該類可以定義為接口一般就定義為接口定義一個接口,使用interface關鍵字 接口,類,枚舉,注解等都是java中的類型接口中所有的方法,都是抽象方法所以也可以說,接口就是一個特殊的抽象類接口中除了定義方法外,還可以定義成員變量特點;方法和屬性默認都是public修飾,也可以使用protected,但不能用private所有的屬性都是靜態的常量,默認省略了static和final修飾符,屬性的值必須實例化(初始化)*/public interface Flyable {public final int wingsNumber = 2;public abstract void fly();}

接著定義一個咬人的接口:

package cn.com.Classwork190124;public interface Bitable {public int teethNumber = 0;public abstract void bite(); }

最后定義蝙蝠類去實現這兩個接口:

package cn.com.Classwork190124;/*在JAVA中,一個類無法繼承自多個類,但是可以實現多個接口,使用關鍵字implements多個接口之間使用“,”隔開 多個接口之間,沒有先后順序這個類叫做實現類,這個類必須實現所有接口的所有方法*/public class Bat implements Flyable,Bitable {@Overridepublic void bite() {System.out.println("吸血");}@Overridepublic void fly() {System.out.println("用翅膀飛");}public static void main(String[] args) {System.out.println(Flyable.wingsNumber);} }

接口的特點:

用 interface 來定義。

接口中的所有成員變量都默認是由public static final修飾的。

接口中的所有方法都默認是由public abstract修飾的。

接口沒有構造方法。構造方法用于創建對象

實現接口的類中必須提供接口中所有方法的具體實現內容。

多個無關的類可以實現同一個接口

一個類可以實現多個無關的接口

與繼承關系類似,接口與實現類之間存在多態性

接口也可以繼承另一個接口,使用extends關鍵字。

實現接口的類中必須提供接口中所有方法的具體實現內容。

多個無關的類可以實現同一個接口

一個類可以實現多個無關的接口

與繼承關系類似,接口與實現類之間存在多態性

定義Java類的語法格式:

< modifier> class < name> [extends < superclass>]

[implements < interface> [,< interface>]* ] {

< declarations>*

}
此外,接口還常常被用來當做定義常量的集合:

package cn.com.Classwork190124;/*接口也經常用來被定義常量的集合 默認省略public static final定義更簡單,使用更方便*/public interface Power {int vol = 220;double hz = 50.0; }

案例:

如果實現接口的類中沒有實現接口中的全部方法,必須將此類定義為抽象類。

接口也可以繼承另一個接口,使用extends關鍵字

interface MyInterface {String s=“MyInterface”;public void absM1(); }interface SubInterface extends MyInterface {public void absM2(); }public class SubAdapter implements SubInterface {public void absM1(){System.out.println(“absM1”);}public void absM2(){System.out.println(“absM2”);} }

JDK8新增接口中抽象方法的默認實現 使用default關鍵字

package cn.com.Classwork190124;public interface Bitable {public int teethNumber = 0;//public abstract void bite();/*java新增接口中抽象方法的默認實現 使用default關鍵字加上default關鍵字后需要實現方法體子類中成為覆蓋該方法*/default void bite() {System.out.println("用牙齒咬");} }

注意:如果實驗發現明明用的是jdk8卻報錯為:Extension methods are not supported at language level '6’ 請進入idea file->project structure 在project選項卡下將圖中被圈的部分改為8即可(language level不能比項目的jdk版本高)。

還可以附帶static的默認實現方法

package cn.com.Classwork190124;/*接口也經常用來被定義常量的集合 默認省略public static final定義更簡單,使用更方便*/public interface Power {int vol = 220;double hz = 50.0;/*jdk8新增功能*/public static void lightOn(){System.out.println("默認的點燈方法");}public static void main(String[] args) {Power.lightOn();} }

?

總結

以上是生活随笔為你收集整理的Java 中接口 interface 实例介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。