내 프로그램의 하위 클래스에 setter 및 getter를 제공하는 배열을 가져 오는 데 문제가 있습니다. Java 수퍼 클래스, 서브 클래스 및 배열. 배열에 표시되지 않는 하위 클래스 메서드 상속
나는 메인 클래스Person
, 서브 클래스
SchoolEmployee
및
SchoolEmployee
에서 필드를합니다 (
Person
클래스의 필드를 상속) 상속이 개 서브 클래스가 있습니다.
모든 것이 작동하는지 확인하기 위해 테스트 파일을 만들었지 만 Person
클래스의 메서드 만 제공 할 수있는 것으로 보입니다.
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...);
내 문제 I가있다 : I는 I 각 클래스 이루어지는 생성자를 사용한 배열에 값을 넣어 진행이어서,
Person[] schoolemployees = new Person[4];
:
예를 들어, I는 배열을 만들어 Person
클래스 내에서 필드를 설정/가져올 수만 있습니다. 예를 들어
:
input = JOptionPane.showInputDialog(null, "Enter name for first name");
schoolemployees[1].setFirstName(input);
내가 설정/필드를 얻을 수 또는 서브 클래스 내에서 메소드를 호출하려고, 그들은 전혀 표시되지 않습니다.
누군가 내가 배열에서 상속 된 필드를 볼 수없는 이유에 대한 통찰력을 제공해 줄 수 있습니까? 고맙습니다.
상속에 액세스하는이 SchoolEmployee'이 아닌 그 반대 Person','모든 구성원이있을 것이다 '을 의미한다. – shmosel