java ——定義一個抽象的"Role"類,有姓名,年齡,性別等成員變數.
阿新 • • 發佈:2018-12-17
- 定義一個抽象的"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 Role(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } public Role(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public abstract void play(); } class Employee extends Role { private double salary; private static String ID; public Employee() { super("張三",20,"男"); System.out.println("Employee的無參構造"); } public Employee(String name,int age,String sex,double salary) { super(name,age,sex); this.salary = salary; } public void play() { System.out.println(super.getName()+"在寂寞的玩LOL"); } public final void sing() { System.out.println(super.getName()+"在寂寞的唱歌"); } } class Manager extends Employee { // 賓士 public static final String vehicle = "Benz"; } public class Test { public static void main(String[] args) { Role role = new Employee(); role.play(); Employee employee = (Employee) role; employee.sing(); Manager manager = new Manager(); System.out.println(Manager.vehicle); } }