「Java」「extends & method」 Chapter3 Question4
Given:
Anaswer:
Stuff
Stuff
GeneralManager
CEO
Stuff
GeneralManager
CEO
GeneralManager
CEO
---------------------------------------------------------------------
Manager 只有物件欄位,沒有物件方法 getDepartment,導致在呼叫Manager的department資訊時,會從父類別 Employee 中取得 department 資訊。
public class Test4 { public static void main(String[] args) { Employee e1 = new Employee(); System.out.println(e1.getDepartment());// stuff Employee e2 = new Manager(); System.out.println(e2.getDepartment());// stuff Employee e3 = new GeneralManager(); System.out.println(e3.getDepartment());// GeneralManager Employee e4 = new CEO(); System.out.println(e4.getDepartment());// CEO // Manager m1 = new Employee();//編譯錯誤: 子=父 // System.out.println(m1.getDepartment()); Manager m2 = new Manager(); System.out.println(m2.getDepartment());// stuff Manager m3 = new GeneralManager(); System.out.println(m3.getDepartment());// GeneralManager Manager m4 = new CEO(); System.out.println(m4.getDepartment());// CEO // GeneralManager g1 = new Employee();//編譯錯誤: 子=父 // System.out.println(m1.getDepartment()); //GeneralManager g2 = new Manager();////編譯錯誤: 子=父 //System.out.println(m2.getDepartment()); GeneralManager g3 = new GeneralManager(); System.out.println(g3.getDepartment());// GeneralManager GeneralManager g4 = new CEO(); System.out.println(g4.getDepartment());// CEO } } class Employee { String department = "Stuff"; public String getDepartment() { return department; } } class Manager extends Employee { //manager沒有getDepartment方法,也就無法取得欄位資訊 String department = "Manager"; } class GeneralManager extends Manager { String department = "GeneralManager"; public String getDepartment() { return department; } } class CEO extends GeneralManager { public String getDepartment() { return "CEO"; } }
Anaswer:
Stuff
Stuff
GeneralManager
CEO
Stuff
GeneralManager
CEO
GeneralManager
CEO
---------------------------------------------------------------------
Manager 只有物件欄位,沒有物件方法 getDepartment,導致在呼叫Manager的department資訊時,會從父類別 Employee 中取得 department 資訊。
留言
張貼留言