1. 程式人生 > 實用技巧 >抽象類的使用方法

抽象類的使用方法

抽象類的使用方法

public class AbstractTest {
    //實踐一下
	public static void main(String[] args) {
		//new abs;
		//- Cannot instantiate the type abs報錯  原因:抽象類不能被例項化
		
		Abstract abstract1 = new Abstract();
		abstract1.doSomething();//體現繼承性,繼承父類的方法
		
        abstract1.eat();//依靠子類的重寫實現抽象方法
        //抽象類
        
		
	}
}

abstract class abs {
	// 抽象類的本質是 類!!! 滿足單繼承
	// 總結:抽象的類不一定有抽象方法,但是有抽象方法的類一定是抽象類

    //抽象類不能被例項化 ,可以定義抽象方法,也可以定義普通方法,可以(必須)定義構造器(即使你看不到存在預設的構造器(構造方法)),
	//因為需要子類執行父類的方法,必須進行例項化,也必須呼叫構造器中的super();最終呼叫Object類中的空參構造器

	public abstract void eat();// 抽象方法,子類必須重寫父類中的方法
	// 因為抽象方法沒有方法體,所以要靠實現類(子類)的重寫的方法實現
	
	
	public void doSomething() {// 普通方法可以在抽象類中定義
		System.out.println("WDNMD!!");
	}
}
//子類
class Abstract extends abs {
	@Override
	public void eat() {
		System.out.println("子類的  eat()方法 執行");
		//在eclipse中實現了某個抽象方法會用紫色的三角號標識
	}
}