抽象類的概述及其特點
阿新 • • 發佈:2019-02-03
- A:抽象類概述
- 抽象就是看不懂的
B:抽象類的特點
- a:抽象類和抽象方法必須用abstract關鍵字修飾
- abstract class 類名 {}
- public abstract void eat();
- b:抽象類不一定有抽象方法,有抽象方法的類一定是抽象類或者是介面
- c:抽象類不能例項化那麼,抽象類如何例項化呢?
- 按照多型的方式,由具體的子類例項化。其實這也是多型的一種,抽象類多型。
d:抽象類的子類
- 要麼是抽象類
要麼重寫抽象類中的所有抽象方法
class Demo01_Abstract { public static void main(String[] args) { //Animal a = new Animal(); //錯誤: Animal是抽象的; 無法例項化 Animal a = new Cat(); //父類引用指向子類物件 a.eat(); } } /* * B:抽象類特點 * a:抽象類和抽象方法必須用abstract關鍵字修飾 * abstract class 類名 {} * public abstract void eat(); * b:抽象類不一定有抽象方法,有抽象方法的類一定是抽象類或者是介面 * c:抽象類不能例項化那麼,抽象類如何例項化呢? * 按照多型的方式,由具體的子類例項化。其實這也是多型的一種,抽象類多型。 * d:抽象類的子類 * 要麼是抽象類 * 要麼重寫抽象類中的所有抽象方法 */ abstract class Animal { //抽象類 public abstract void eat(); //抽象方法 } //錯誤 //Cat不是抽象的,並且未覆蓋Aniaml中的抽象方法eat() class Cat extends Animal{ } //正確 //要麼是抽象類 abstract class Cat extends Animal{ } //正確 //要麼重寫抽象類中的所有抽象方法 class Cat extends Animal { public void eat() { System.out.println("貓吃魚"); } }
- a:抽象類和抽象方法必須用abstract關鍵字修飾