私はOOPのものをカバーしようとしていますが、私はここで取り残しました。私はCompanyクラスの従業員[0] .setBonus(50)の部分にエラーが発生します。従業員クラスのボーナスメソッドを定義する以外の方法はありませんか?または、すべてのオブジェクトを1つの配列に保持するにはどうしてですか?私はボーナスメソッドを定義しましたが、別のものがありました。私はEmpoyeeクラスのgetBonusメソッドで何を返さなければなりませんか?Javaのスーパークラスの型の配列にサブクラスオブジェクトを作成する
public class Company
{
private static Employee[] employees;
public Company()
{
employees= new Employee[]{new Manager("Sapo",10000),new Employee("James",5000),new Employee("Jessie",5001)};
}
public static void main(String[] args)
{
Company company= new Company();
employees[0].setBonus(50);
System.out.println(employees[0].getBonus());
}
}
public class Employee extends Person
{
int salary;
public Employee(String name,int salary) {
super(name);
setSalary(salary);
// TODO Auto-generated constructor stub
}
public void setSalary(int salary)
{
this.salary= salary;
}
public int getSalary()
{
return salary;
}
}
public class Manager extends Employee
{
private int bonus;
public Manager(String name, int salary) {
super(name, maas);
}
public void setBonus(int bns)
{
bonus=bns;
}
public int getBonus()
{
return bonus;
}
public int getSalary()
{
return salary+bonus;
}
}
私は混乱しています。
可能な重複(http://stackoverflow.com/questions/10021603/calling-a-subclass-method-from-superclass) – shmosel