java抽象類和介面

2021-08-04 18:03:12 字數 705 閱讀 5269

今天詳細的看了看抽象類和介面的相關知識,平常使用介面比較多,這裡就寫寫自己對抽象類的理解。

抽象類與介面最大的區別是抽象類中可以有對方法的實現,而介面中智慧型對方法的模型進行定義,不允許有任何的方法實現。

舉個例子,

public abstract animal

public void sleep(int hours)

catch (interruptedexception ie)

}public abstract void makenoise();

}

定義乙個抽象類動物,其中有兩個方法eat()和sleep(),這兩個方法是我認為動物都具有的,可以定義為一般的方法,在繼承時子類自動擁有。而makenoise()方法我認為是每個動物各有不同(聲音不同),就用乙個抽象方法去定義它,類似於介面中方法的定義。那麼如果有乙個種類的動物繼承這個動物類,如:

public dog extends animal

}

像dog這個類,那麼繼承animal後,它自動擁有了animal類中eat()和sleep()這兩個方法的實現。但是他必須自己實現makenoise()這個抽象方法的具體內容,發出狗的聲音。

總而言之,抽象模擬介面增加了方法的實現,對於抽象子類的公有方法非常有利。但是同樣的,乙個抽象類的定義比介面的定義更加耗費資源。如何選擇,根據實際而定。

Java 介面和抽象類

介面,inte ce,介面泛指供別人呼叫的方法和函式。介面的形式 public inte ce inte cename 介面的特點 1 介面中可以含有變數和方法。2 其中變數被隱式的指定為public static final 變數並且只能是這種變數。3 介面的方法隱式的指定為public abst...

java抽象類和介面

抽象類 乙個類中只要有乙個抽象方法 那麼這個類就必須是抽像的 抽象類必須要進行例項化 public abstract class animal class cat extends animal 介面 從本質上講介面是一種特殊的抽象類 介面中所有的方法都是抽象的 並且介面中的成員都是public 介面...

Java抽象類和介面

含有abstract修飾符的class即為抽象類,abstract類不能建立的例項物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class 類中定義抽象方法必須在具體 concrete 子類中實現,所以...