我无法让我的程序中的子类的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