Java修飾符abstract

abstract抽象的
注意:抽象類有構造方法但是不可以實例化!
因爲,抽象類本身就是爲繼承而存在的,設計者的初衷就是將一類事物抽象出共同特徵,然後封裝成一個類。但是,我們可以通過抽象父類的引用調用非抽象子類的對象間接實例化。
例子:

public class abstractTest extends bB{
	public abstractTest(String str) {
		super(str);
		System.out.println("子類已經被實例化");
	}

	public static void main(String[] args) throws Exception {
		
		bB s = new abstractTest("hello world");
	}
}



abstract class bB{
	String str;
	public bB(String str) {
		System.out.println("父類已經被實例化");
		this.str = str;
		System.out.println(str);
	}
}

結果:

父類已經被實例化
hello world
子類已經被實例化

1、抽象類可以有抽象方法,也可以沒有抽象方法;有抽象方法的類必須爲抽象類。
2、沒有抽象的構造方法,也沒有抽象的靜態方法。抽象的構造方法:類中的構造方法用來new對象的,構造方法如果被抽象了,那類還有什麼意義,面向對象編程也無從說起。抽象的靜態方法:靜態資源提前加載,可用類名調用,抽象的靜態方法是一個空的方法,沒意義。但抽象類中是可以有靜態方法的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章