抽象類 概述
阿新 • • 發佈:2019-01-09
java 抽象類概述
/* 抽象類的概述: 動物不應該定義為具體的東西,而且動物中的吃,睡等也不應該是具體的。 我們把一個不是具體的功能稱為抽象的功能,而一個類中如果有抽象的功能,該類必須是抽象類。 抽象類的特點: A:抽象類和抽象方法必須用abstract關鍵字修飾 B:抽象類中不一定有抽象方法,但是有抽象方法的類必須定義為抽象類 C:抽象類不能例項化 因為它不是具體的。 抽象類有構造方法,但是不能例項化?構造方法的作用是什麼呢? 用於子類訪問父類資料的初始化 D:抽象的子類 a:如果不想重寫抽象方法,該子類是一個抽象類。 b:重寫所有的抽象方法,這個時候子類是一個具體的類。 抽象類的例項化其實是靠具體的子類實現的。是多型的方式。 Animal a = new Cat(); */ //abstract class Animal //抽象類的宣告格式 abstract class Animal { //抽象方法 //public abstract void eat(){} //空方法體,這個會報錯。抽象方法不能有主體 public abstract void eat(); public Animal(){} } //子類是抽象類 abstract class Dog extends Animal {} //子類是具體類,重寫抽象方法 class Cat extends Animal { public void eat() { System.out.println("貓吃魚"); } } class AbstractDemo { public static void main(String[] args) { //建立物件 //Animal是抽象的; 無法例項化 //Animal a = new Animal(); //通過多型的方式 Animal a = new Cat(); a.eat(); } }