導航:首頁 > 編程語言 > java介面中的方法

java介面中的方法

發布時間:2024-01-07 13:16:48

java里實現一個介面的類必須要實現介面里的所有方法嗎

一、實現介面或繼承抽象類的非抽象子類必須實現介面的所有方法或抽象類的所有抽象方法。

介面中的所有方法均為抽象方法,抽象類中包含非抽象方法和抽象方法。如果一個非抽象子類實現了介面,那麼該子類必須實現父介面的所有方法。如果一個非抽象子類繼承了抽象類,那麼該子類必須實現抽象類的所有抽象方法。


二、實現方案

(一)實現介面

1. 定義介面

/**
*介面:表示人類行為
*/
interfaceBehavor{
/**
*抽象方法:「吃飯」方法
*/
voideat();

/**
*抽象方法:「睡覺」方法
*/
voidsleep();
}


2. 定義子類,實現介面

/**
*子類:表示人類,實現「行為」介面
*/
classPersonimplementsBehavor{
/**
*姓名
*/
protectedStringname=null;

publicPerson(Stringname){
this.name=name;
}

//實現介面的抽象方法
@Override
publicvoideat(){
System.out.println(name+"正在吃飯......");
}

//實現介面的抽象方法
@Override
publicvoidsleep(){
System.out.println(name+"正在睡覺......");
}
}


3. 定義調用類,調用方法

publicclassMain{
publicstaticvoidmain(String[]args){
Personp=newPerson("張三其");
p.eat();
p.sleep();
}
}


(二)繼承抽象類

1. 定義抽象類

/**
*抽象類:表示人類
*/
abstractclassPerson{
/**
*姓名
*/
protectedStringname=null;

publicPerson(Stringname){
this.name=name;
}

/**
*抽象方法:吃飯
*/
publicabstractvoideat();

/**
*抽象方法:睡覺
*/
publicabstractvoidsleep();
}


2. 定義子類,繼承抽象類

/**
*子類:學生類
*/
classStudentextendsPerson{
publicStudent(Stringname){
super(name);
}

//實現抽象類的抽象方法
@Override
publicvoideat(){
System.out.println("學生"+name+"正在吃飯......");
}

//實現抽象類的抽象方法
@Override
publicvoidsleep(){
System.out.println("學生"+name+"正在吃飯......");
}
}


3. 定義調用類,調用方法

publicclassMain{
publicstaticvoidmain(String[]args){
Personp=newStudent("張三其");
p.eat();
p.sleep();
}
}

② java介面中必須都是抽象方法嗎,我定義非抽象方法同樣可以使用

介面中所有方法都是抽象方法;無論你加不加abstract,所有實現指定介面的類都必須重寫並實現該介面的所有方法,否則這個類就是抽象類。

③ java 中,介面中所有方法均為抽象方法,這句話是對的嗎

首先明確概念問題,一個類如果是抽象的那麼就應該稱之為介面interface
介面裡面的方法全部是抽象的,也就是方法後面不會出現{};
同時,你在使用的時候去實現這個介面implements
把方法完善了;
在你的父類介面里定義下面這個方法
string
getstring();裡面可以放參數,
再搞一個類implements
這個介面,同時把這個方法實現了
string
getstring(){
.......
return
null;
};

④ 如果JAVA中一個類繼承的兩個介面中有相同方法,怎麼辦

沒法辦到……因為介面沒有具體邏輯,你怎麼實現的就會怎麼返回。不論調用的時候是screen類型還是host類型,最後具體的實現都是computer的getSize方法。建議分開實現,因為computer和screen、host不是一個繼承關系,而是一個組成關系

閱讀全文

與java介面中的方法相關的資料

熱點內容
在編程語言中函數是什麼 瀏覽:516
開票軟體金稅盤裡面怎麼數據遷移 瀏覽:591
電腦存放圖片有什麼文件夾 瀏覽:260
appleid不對怎麼激活 瀏覽:574
省份表單代碼 瀏覽:194
js原型繼承運行機制 瀏覽:440
jstl判斷的參數 瀏覽:86
java一個線程如何訪問其他方法 瀏覽:64
數字按鍵手機密碼忘記了怎麼刷機 瀏覽:823
小米怎樣設置指紋解鎖密碼是多少 瀏覽:841
caxa圖形轉為pdf文件 瀏覽:718
文件放在哪裡才能用r打開 瀏覽:130
沒有數據集如何重現別人的實驗 瀏覽:10
編程培訓機構待遇如何 瀏覽:822
機械版2018cad內文件夾 瀏覽:688
編程貓導師訓練在哪裡找 瀏覽:88
編程到底如何學習 瀏覽:807
android查看藍牙版本 瀏覽:289
食品批發類工作招聘有哪些網站 瀏覽:125
國外二手app哪個好 瀏覽:694

友情鏈接