1. 程式人生 > >小川學習筆記-抽象方法與抽象類

小川學習筆記-抽象方法與抽象類

抽象方法與抽象類

2018年的最後一個月,本小白繼續為大家貢獻自己在自學JAVA路上的一些心得,還希望諸位大佬能夠停下你的腳步為我指點一二。

抽象方法

使用abstract修飾的方法中,沒有方法體,只有宣告。定義的只是一種“規範”,就是告訴子類必須要給抽象方法提供具體的實現。(父類沒有實現,子類必須實現)

抽象類

包含抽象方法的類就是抽象類。通過abstract方法定義規範,然後要求子類必須定義具體實現。

抽象類的的使用方法有:

  1. 有抽象方法的類只能定義成抽象類;
  2. 抽象類不能例項化,即不能用new來例項化抽象類;
  3. 抽象類可包含屬性、方法、構造方法。但是構造方法不可用new進行例項,只能用於被子類呼叫;
  4. 抽象類只可以被用來繼承;
  5. 抽象類必須被子類實現。

那麼,我們所用的抽象類的意義到底在哪裡呢,意義在於:為子類提供了統一的、規範的模板。子類必須實現相關的抽象方法。

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("跟我一起學狗叫,一起汪汪汪");
	}
}

好了,本期更新就到這裡,歡迎大家進行批評指正。