이 문제의 경우 기본 클래스 Person, 하위 클래스 Employee 및 하위 클래스 Staff 및 Supervisor가 제공됩니다. Employee, Staff 및 Supervisor 클래스에서 메소드 재정의를 적용해야했습니다. 드라이버 클래스의 주된 메소드는 Staff와 Supervisor의 여러 오브젝트를 생성하고 이름과 월간 보수를 표시해야합니다.Java의 다형성 배열의 다른 요소 인쇄
드라이버 클래스에 다형성 배열을 만들었지 만 재정의 메서드 반환 값 옆에 배열의 각 요소를 표시하는 for 루프를 구성하는 방법을 알 수 없습니다. 지금
import java.util.Arrays;
public class HRRoster {
public static void main(String[] args) {
Person roster[] = new Person[6];
roster[0] = new Supervisor("James Martin");
roster[1] = new Supervisor("William Smith");
roster[2] = new Supervisor("Jennifer Shipman");
roster[3] = new Staff("Brian Williams");
roster[4] = new Staff("Carrie James");
roster[5] = new Staff("Samantha Powers");
for (int i=0; i < roster.length; i++){
System.out.print(Arrays.toString(roster));
roster[i].Salary();
}
}
}
, 출력이의 모든 요소가 있습니다 : 여기
public class Person {
void Salary(){
System.out.println("All positions are salaried");
}
}
public class Employee extends Person {
void Salary(){
System.out.println("Salaries vary between staff and supervisors");
}
}
public class Staff extends Employee {
public Staff(String string) {
}
void Salary() {
System.out.println("A regular staff employee makes 3500.00 monthly");
}
}
public class Supervisor extends Employee {
public Supervisor(String string) {
}
void Salary(){
System.out.println("Supervisors make approximately 9800.00 monthly");
}
}
내가 문제에 봉착 경우, 드라이버 클래스 : 나는 상당히 간단베이스와 서브 클래스를 유지 배열과 오버라이드 된 메소드를 각각의 행에 추가합니다. 나는 for 루프에서 무언가 어리석은 초등/단순 무언가를 놓치고 있다는 것을 압니다.하지만 여기서 어떻게 작동하게하는지 정확하게 모르겠습니다. 기본적으로 배열의 각 요소를 나열한 다음 재정의 된 메서드를 실행하고 각각은 자체 줄에 나열하려고합니다.
이하로 예상하고있다. –