是否可以在不修改基类和派生类的情况下调用基类函数?
class Employee {
public String getName() {
return "Employee";
}
public int getSalary() {
return 5000;
}
}
class Manager extends Employee {
public int getBonus() {
return 1000;
}
public int getSalary() {
return 6000;
}
}
class Test {
public static void main(String[] args) {
Employee em = new Manager();
System.out.println(em.getName());
// System.out.println(em.getBonus());
System.out.println(((Manager) em).getBonus());
System.out.println(em.getSalary());
}
}
输出: 雇员 1000 6000
如何在em
对象上调用Employee的getSalary()方法?
答案 0 :(得分:6)
你做不到。如果您愿意,可以将此类方法添加到Manager
:
public int getEmployeeSalary()
{
return super.getSalary();
}
答案 1 :(得分:0)
改为使用Employee对象:
Employee em = new Employee();
答案 2 :(得分:0)
您可以从子类中调用超类的方法。
class Manager extends Employee {
public int getBonus() {
return 1000;
}
public int getSalary() {
return super.getSalary();
}
}