小川學習筆記-抽象方法與抽象類
阿新 • • 發佈:2018-12-06
抽象方法與抽象類
2018年的最後一個月,本小白繼續為大家貢獻自己在自學JAVA路上的一些心得,還希望諸位大佬能夠停下你的腳步為我指點一二。
抽象方法
使用abstract修飾的方法中,沒有方法體,只有宣告。定義的只是一種“規範”,就是告訴子類必須要給抽象方法提供具體的實現。(父類沒有實現,子類必須實現)
抽象類
包含抽象方法的類就是抽象類。通過abstract方法定義規範,然後要求子類必須定義具體實現。
抽象類的的使用方法有:
- 有抽象方法的類只能定義成抽象類;
- 抽象類不能例項化,即不能用new來例項化抽象類;
- 抽象類可包含屬性、方法、構造方法。但是構造方法不可用new進行例項,只能用於被子類呼叫;
- 抽象類只可以被用來繼承;
- 抽象類必須被子類實現。
那麼,我們所用的抽象類的意義到底在哪裡呢,意義在於:為子類提供了統一的、規範的模板。子類必須實現相關的抽象方法。
package JavaClass; public abstract class Animal { abstract public void shout(); public void run() { System.out.println("跟我一起跑起來"); } public static void main(String[] args) { Animal a = new Dog(); System.out.println(a); } } class Cat extends Animal{ public void shout() { System.out.println("跟我一起學貓叫,一起喵喵喵"); } } class Dog extends Animal{ public void shout() { System.out.println("跟我一起學狗叫,一起汪汪汪"); } }
好了,本期更新就到這裡,歡迎大家進行批評指正。