抽象類練習
阿新 • • 發佈:2018-11-25
定義一個抽象的"Role"類,有姓名,年齡,性別等成員變數
1)要求儘可能隱藏所有變數(能夠私有就私有,能夠保護就不要公有),
再通過GetXXX()和SetXXX()方法對各變數進行讀寫。具有一個抽象的play()方法,
該方法不返回任何值,同時至少定義兩個構造方法。Role類中要體現出this的幾種用法。
2)從Role類派生出一個"Employee"類,該類具有Role類的所有成員(構造方法除外),
並擴充套件salary成員變數,同時增加一個靜態成員變數“職工編號(ID)”。
同樣要有至少兩個構造方法,要體現出this和super的幾種用法,還要求覆蓋play()方法,
並提供一個final sing()方法。
3)"Manager"類繼承"Employee"類,有一個final成員變數"vehicle"
在main()方法中製造Manager和Employee物件,並測試這些物件的方法。
abstract class Role{ private String name; private int age; private String sex; public String getName(){ return this.name; } public void setName(String name){ this.name=name; } public int getAge(){ return this.age; } public void setAge(int age){ this.age=age; } public String getSex(){ return this.sex; } public void setSex(String sex){ this.sex=sex; } abstract void play(); public Role(){ System.out.println("nihaoma"); } public Role(String name,int age){ this.name=name; this.age=age; } } class Employee extends Role{ private int salary; private static int ID; public int getSalary(){ return this.salary; } public void setSalary(int salary){ this.salary=salary; } public int getID(){ return ID; } public void setID(int ID){ this.ID=ID; } public Employee(){ System.out.println("Employee的無參構造"); } public Employee(int salary){ super(); this.salary=salary; System.out.println("Employee的有參構造"); } public final void sing(){ System.out.println("我在唱歌"); } public void play(){ System.out.println("*********"); } } class Manager extends Employee { public final void vehicle(){ System.out.println("我很開心"); } } public class mytest{ public static void main(String[]args){ Employee e=new Employee(); e.play(); e.sing(); Manager m=new Manager(); m.vehicle(); } }