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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java接口示例_【基础篇】java-接口及其示例

發布時間:2025/3/21 编程问答 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java接口示例_【基础篇】java-接口及其示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接口

接口是對方法的封裝,它不是類,但也會編譯為.class文件。接口的關鍵字是interface,定義方式與類相似,是一種引用數據類型。接口不能創建對象,但可以被類使用(implements,類似于繼承),一個實現接口的類中,要實現接口所有的抽象方法,否則就是一個抽象類了。

public interface 接口名稱 {

// 抽象方法

// 默認方法

// 靜態方法

// 私有方法

}抽象方法

public interface InterFaceName {

public abstract void method();

}

使用abstract修飾的抽象方法,供子類實現使用。默認方法

使用 default 修飾,不可省略,供子類調用或者子類重寫。

public interface InterFaceName {

public default void method() {

// 執行語句

}

}靜態方法

使用 static 修飾,供接口直接調用,接口名.方法名()的方式直接調用,不能被子類實現。

public interface InterFaceName {

public static void method2() {

// 執行語句

}

}私有方法

使用 private 修飾,供接口中的默認方法或者靜態方法調用。

public interface InterFaceName {

private void method() {

// 執行語句

}

}類與接口的關系

類與接口的關系為實現關系,即類實現接口,用implements關鍵字。非抽象子類實現接口,必須重寫接口的所有抽象方法,而默認方法可以直接調用,也可以重寫。

class 類名 implements 接口名 {

// 重寫接口中抽象方法【必須】

// 重寫接口中默認方法【可選】

}私有方法的使用

私有方法:只有默認方法可以調用。

私有靜態方法:默認方法和靜態方法可以調用。接口的多實現

接口與繼承不同,是可以多實現的。就是一個類可以實現多個接口。

class 類名 [extends 父類名] implements 接口名1,接口名2,接口名3... {

// 重寫接口中抽象方法【必須】 // 重寫接口中默認方法【不重名時可選】}

當實現多個接口時,對于抽象方法,必須全部重寫,如果抽象方法重名,只需重寫一次即可。這是因為重寫是對方法的覆蓋,以最新的為準。

對于默認方法,實現類都可以使用,如果有重名,必須重寫一次,因為不重寫會混亂。

注意,默認方法有個優先級問題,如果默認方法與實現類的父類成員方法重名,會以父類的成員方法為較高優先級。

對于靜態方法,類不能實現靜態方法,所以即使重名也不受影響。接口也可以繼承

接口是可以實現繼承的,也是用extends關鍵字,不過接口可以實現多繼承,當然,接口只能繼承接口,類型要保持一致。接口注意事項

-接口中,無法定義成員變量,但是可以定義常量,其值不可以改變,默認使用 public static final修飾。

-接口中,沒有構造方法,不能創建對象。

-接口中,沒有靜態代碼塊。

接口實現案例案例需求

筆記本電腦( laptop)通常具備使用USB設備的功能。在生產時,筆記本都預留了可以插入USB設備的USB接口,

但具體是什么USB設備,筆記本廠商并不關心,只要符合USB規格的設備都可以。

定義USB接口,具備最基本的開啟功能和關閉功能。鼠標和鍵盤要想能在電腦上使用,那么鼠標和鍵盤也必須遵守

USB規范,實現USB接口,否則鼠標和鍵盤的生產出來也無法使用。案例分析

-USB接口,包含開啟和關閉功能;

-筆記本類,包含運行、關機功能,使用usb設備功能;

-鼠標類,實現usb接口,具備點擊方法

-鍵盤類,實現USB接口,具備敲擊方法案例實現

-定義USB接口

interface USB{

void open();

void close();

}

-定義鼠標類

class Mouse implements USB{

public void open(){

System.out.println("鼠標開啟");

}

public void close(){

System.out.println("鼠標關閉");

}

public void click(){

System.out.println("鼠標單機");

}

}

-定義鍵盤類

class KeyBoard implements USB{

public void open(){

System.out.println("鍵盤開啟");

}

public void close(){

System.out.println("鍵盤關閉");

}

public void type(){

System.out.println("鍵盤敲擊");

}

}

-定義筆記本類

class Laptop{

public void run(){

System.out.println("筆記本運行");

}

public void useUSB(USB usb){

if(usb != null){

usb.open();

if(usb instanceof Mouse){

Mouse m = (Mouse) usb;

m.click();

}else if (usb instanceof KeyBoard){

KeyBoard kb = (KeyBoard)usb;

kb.type();

}

usb.close();

}

}

public void shutDown(){

System.out.println("筆記本關閉");

}

}

-編寫測試類

public class Test{

public static void main(String[] args){

Labtop lt = new Laptop();

lt.run();

USB u1 = new Mouse();

lt.useUSB(u1);

USB u2 = new KeyBoard();

lt.useUSB(u2);

lt.shutDown();

}

}

這里以多態的方式實現對usb設備的創建,類型都是接口類型的usb,因為接口也是一種引用類型,這是符合規定的,并不是接口生成了對象,而是接口類型變量,指向了Mouse和KeyBoard對象,在調用筆記本對象的方法,判斷二者對應設備類型,并做對應操作。

這個示例是接口與多態的實操案例。

總結

以上是生活随笔為你收集整理的java接口示例_【基础篇】java-接口及其示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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