1. 程式人生 > >Java面向物件——抽象類

Java面向物件——抽象類

在解決實際問題中,常常將被繼承的父類定義為抽象類,其功能都由各個子類去實現;

定義:在java中,含有抽象方法的類稱為抽象類,同樣不能生成物件;

注意點:

1,包含一個抽象方法的類是抽象類;

2,抽象類和抽象方法都要用abstract關鍵字修飾;

3,抽象方法只需要宣告而不需要實現;

4,抽象類必須被子類(假如不是抽象類)必須重寫抽象中的全部抽象方法;

5,抽象類不能被例項化;

1.我們先定義一個抽象類(父類);

package m10d29;

public abstract class People {

	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	//定義一個抽象方法,具體內容由子類去實現
	public abstract void say();
}

 抽象類,定義一個屬性name 以及抽象方法say(),具體實現讓子類去實現;

2.再定義兩個子類;

package m10d29;

public class Student extends People{

	public void say() {
		
		System.out.println("職業是"+this.getName());
	}

	
}
package m10d29;

public class Teacher extends People{

	public void say() {
		
		System.out.println("職業是"+this.getName());
	}

	
}

3.再建立一個測試類Test; 

package m10d29;

public class Test {

	public static void main(String[] args) {
		Student s=new Student();
		s.setName("學生");
		s.say();
		
		Teacher t=new Teacher();
		t.setName("老師");
		t.say();
	}
}

 輸出結果為:

職業是學生
職業是老師