缺少方法体

时间:2014-06-19 09:42:01

标签: java

我正在回答问题。我有一个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()
}

由于代码现在运作良好,问题的答案是什么:“使用下面的代码解释投射的概念”?我提供的代码。

3 个答案:

答案 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
}

您尚未定义方法的正文。