java抽象類和抽象方法

biubiubiuo發表於2018-02-10

抽象類:

  java中定義沒有方法體的方法,該方法有由其子類來具體的實現。

  該沒有方法體的方法我們稱為抽象方法,含有抽象方法的類為抽象類。

抽象方法的特點:

  1.只有方法頭沒有方法體的方法

  2.抽象方法用abstract修飾

  3.抽象方法代表一種不確定的操作或行為

  4.抽象方法不能被呼叫

抽象類的特點:

  1.定義中含有抽象方法的類叫抽象類

  2.抽象類用abstract修飾

  3.抽象類代表一種抽象的物件型別

  4.抽象類不能例項化

  5.抽象類可以有具體的方法,可以沒有抽象方法

//公司所有員工都有工號,姓名,工資,工作。
//領導除了員工的屬性和方法還有津貼
public class EmployeeDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		javaTeacher teacher = new javaTeacher(001,"張三",3000);
		teacher.work();
		leader lead = new leader(002,"李四",5000,10000);
		lead.work();
	}

}

abstract class employee{//抽象類
	private int number;
	private String name;
	private double salary;
	public abstract void work();//抽象方法
	
	public employee(int number,String name,double salary) {
		this.number = number;
		this.name = name;
		this.salary = salary;
	}
	
	//抽象類裡不光可以有抽象方法,也可以有具體方法
	public void aa(){
		System.out.println("aaa"+number+name+salary);
	}
}

//一個類繼承抽象類,要麼實現抽象類的方法,要麼繼續抽象下去
class javaTeacher extends employee{
	public javaTeacher(int number,String name,double salary) {
		super(number,name,salary);
	}
	//抽象方法的實現
	public void work() {
		System.out.println("上java課");
	}
}

class leader extends employee{
	private double allowance;//津貼
	public leader(int number,String name,double salary,double allowance) {
		super(number,name,salary);
		this.allowance = allowance;
	}
	//抽象方法的實現
	public void work() {
		System.out.println("培訓新員工,津貼:"+allowance);
	}
}

 

相關文章