更新時間:2022-06-06 10:46:08 來源:動力節(jié)點(diǎn) 瀏覽1853次
1. 抽象方法沒有主體,它們只有如上所示的方法簽名。
2. 如果一個類有抽象方法,就應(yīng)該聲明為抽象的,反之則不然,這意味著抽象類不需要必須有抽象方法。
3. 如果一個普通類擴(kuò)展了一個抽象類,那么這個類必須實(shí)現(xiàn)抽象父類的所有抽象方法,或者它也必須被聲明為抽象類。
//abstract class abstract class Sum { /* 這兩個是抽象方法,子類
* 必須實(shí)現(xiàn)這些方法
*/ public abstract int sumOfTwo ( int n1 , int n2 ); 公共抽象int sumOfThree ( int n1 , int n2 , int n3 );
//常規(guī)方法public void disp (){ System . 出來。println ( "Sum 類的方法" ); } } //常規(guī)類擴(kuò)展抽象類class Demo extends Sum {
/* 如果我不提供這兩種方法的實(shí)現(xiàn),則
* 程序會拋出編譯錯誤。
*/ public int sumOfTwo ( int num1 , int num2 ){ return num1 + num2 ; } public int sumOfThree ( int num1 , int num2 , int num3 ){ return num1 + num2 + num3 ; } public static void main ( String args []){ Sum obj = new Demo
(); 系統(tǒng)。出來。println ( obj . sumOfTwo ( 3 , 7 )); 系統(tǒng)。出來。println ( obj . sumOfThree ( 4 , 3 , 19 ));
對象。顯示();} }
輸出:
10 26類Sum的方法
默認(rèn)情況下,接口的所有方法 都是公共抽象的。接口中不能有具體的(帶有主體的常規(guī)方法)方法。
//接口interface Multiply { //抽象方法public abstract int multiplyTwo ( int n1 , int n2 );
/* 我們不需要在接口中提及 public 和 abstract
* 因?yàn)榻涌谥械乃蟹椒ǘ际?
* public 和 abstract 默認(rèn)情況下,因此編譯器將
* 將此視為
*公共抽象multiplyThree(int n1,int n2,int n3);
*/ int multiplyThree ( int n1 , int n2 , int n3 );
/* 接口中不允許使用常規(guī)(或具體)方法
* 所以如果我取消注釋這個方法,你會得到編譯錯誤
* 公共無效 disp(){
* System.out.println("如果你取消注釋我會報錯");
* }
*/ }
類Demo實(shí)現(xiàn)乘法{ public int multiplyTwo ( int num1 , int num2 ){ return num1 * num2 ; } public int multiplyThree ( int num1 , int num2 , int num3 ){ return num1 * num2 * num3 ; }公共靜態(tài)無效主要(字符串參數(shù)[]){
乘obj = new Demo (); 系統(tǒng)。出來。println ( obj . multiplyTwo ( 3 , 7 )); 系統(tǒng)。出來。println ( obj . multiplyThree ( 1 , 9 , 0 )); } }
輸出
21 0
以上就是關(guān)于“Java抽象方法和示例”的介紹,大家如果對此比較感興趣,想了解更多相關(guān)知識,不妨來關(guān)注一下動力節(jié)點(diǎn)的Java基礎(chǔ)教程,里面有更豐富的知識等著大家去學(xué)習(xí),相信對大家一定會有所幫助的。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743