我正在回答问题。我有一个Java问题的问题。你能帮帮我们吗?问题是:使用下面的代码解释投射的概念。说明为什么这段代码会导致错误以及如何解决这个错误。
public class PayrollSystem {
public static void main(String[] args) {
Employee me = new FullTimeEmployee();
me.CalcSalary();
me.CalcBonus();
}
}
class FullTimeEmployee extends Employee{
public void CalcBonus()
}
class Employee {
public void CalcSalary()
}
由于代码现在运作良好,问题的答案是什么:“使用下面的代码解释投射的概念”?我提供的代码。
答案 0 :(得分:2)
方法体意味着{}
您尚未包含在CalcBonus和CalcSalary
中public class PayrollSystem {
public static void main(String[] args) {
Employee me = new FullTimeEmployee();
me.CalcSalary();
me.CalcBonus();
}
}
class FullTimeEmployee extends Employee{
public void CalcBonus()
{
}
}
class Employee {
public void CalcSalary()
{
}
}
答案 1 :(得分:2)
((FullTimeEmployee)me).CalcBonus();
由于CalcBonus
类在FullTimeEmployee
类中,Employee me
引用无法调用该方法,但Employee me
持有FullTimeEmployee
对象的引用class对象,因此需要在调用CalcBonus
方法之前将其casr到派生类。
还可以在每个方法之后添加括号{}
来完成您的方法! :)
答案 2 :(得分:0)
更改为 - >
public void CalcBonus(){
//some code
}
public void CalcSalary(){
//some code
}
您尚未定义方法的正文。