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

熱點內容
怎麼盜取微信密碼軟體 瀏覽:445
vssdf文件是什麼 瀏覽:216
怎麼看網路約談視頻 瀏覽:571
qq瀏覽器會分享wifi嗎 瀏覽:120
zip文件分成3個 瀏覽:261
txt的文件1m是多少個字 瀏覽:642
易班下載文件在哪裡 瀏覽:175
怎麼獲得有效電腦網路ip地址 瀏覽:471
怎麼解決網站痛點 瀏覽:800
iphone4ios71降級613 瀏覽:650
garageband升級 瀏覽:689
科學linux 瀏覽:447
哪裡的app理財好 瀏覽:799
linux下線程的創建線程數 瀏覽:804
怎麼改變文件大小 瀏覽:574
飛雪流水軟體注冊破解工具 瀏覽:814
csgo比賽數據哪裡看 瀏覽:961
已越獄iphone4升級ios7 瀏覽:607
微信分享但不是微商 瀏覽:877
git子模塊如何獲取最新數據 瀏覽:446

友情鏈接