導航:首頁 > 編程語言 > 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介面中的方法相關的資料

熱點內容
小米手機上手機卡出來密碼 瀏覽:693
iphone手機國行和港行的區別 瀏覽:913
javagetservername 瀏覽:988
三劍豪升級 瀏覽:263
華為nova8如何防止app偷個人隱私 瀏覽:764
壓縮文件夾解壓後是空的 瀏覽:912
合成ts文件後順序亂了 瀏覽:952
三星s4文件傳電腦 瀏覽:161
Lgplc怎麼編程 瀏覽:471
主要的水稻資料庫有哪些 瀏覽:293
iphone霸氣壁紙 瀏覽:32
系統文件備份在哪個文件夾 瀏覽:53
win81升級win10卡住 瀏覽:766
jsp調用微信公眾號支付 瀏覽:767
微信模板消息推送java 瀏覽:519
傳700MB的文件要多少流量 瀏覽:777
想做家教可以在哪些app上 瀏覽:868
5s怎麼升級到84 瀏覽:862
什麼編程語言適合windows 瀏覽:982
迷你世界編程器如何使用 瀏覽:871

友情鏈接