我無法讓我的程序中的子類的setter和getters的數組。Java超類,子類和數組。繼承的子類方法沒有顯示在數組中
我有主類Person
,子類SchoolEmployee
,以及繼承字段SchoolEmployee
(其繼承了Person
類字段)兩個子類。
我創建了一個測試文件,以檢查是否一切正常,但它似乎只能夠給我的Person
類的方法。
例如,我創建的數組:
Person[] schoolemployees = new Person[4];
然後,我接着使用I用於每個類別所作的構造把值陣列中:
schoolemployees[0] = new Teacher(FirstNameHere, SecondName, etc...);
schoolemployees[1] = new Teacher(FirstNameHere, SecondName, etc...);
schoolemployees[2] = new Office(FirstNameHere, SecondName, etc...);
schoolemployees[2] = new Office(FirstNameHere, SecondName, etc...);
我的問題是,我我只能從Person
類中設置/獲取字段和調用方法。
例如:
input = JOptionPane.showInputDialog(null, "Enter name for first name");
schoolemployees[1].setFirstName(input);
當我嘗試設置/獲取的字段或呼叫子類中的方法,就不會顯示在所有。
可能有人請提供一些洞察爲什麼我無法看到數組中的繼承的字段?謝謝。
繼承訪問它意味着'SchoolEmployee'將對'Person',而不是相反所有成員。 – shmosel