Java: return 类型的继承方法

Java: Inheriting method with return type

Class3 class 扩展到 Class1 class。在Class3中,该方法应该return奖金和薪水的总和,Class1继承自Class3并显示总计,并通过总计乘以12计算年薪。问题是我得到的总输出和 yearlySalary 是 0.0.

代码如下:

class MyClass extends MyClass3{
    double yearlySalary = 12.0*total;

    public static void main(String[] args) {
        MyClass obj1 = new MyClass();

        System.out.println("Employee's salary is: "+ obj1.salary);
        System.out.println("Employee's bonus is: "+ obj1.bonus);
        System.out.println("Total: "+ obj1.total);
        System.out.println("Yearly Salary: "+ obj1.yearlySalary);
    }
}

第二个class:

public class MyClass3 { 
    double salary =40000;
    double bonus = 2000;
    double total;       

    public double CalcTotal(){
        total = salary+bonus;
        return total;
    }
}

你从不打电话给CalcTotal()

您还必须确保在计算 yearlySalary 值之前调用它

您从未调用过 CalcTotal()。 试试这个:

class MyClass extends MyClass3{


        double yearlySalary= 12.0*CalcTotal();

        public static void main(String[] args) {

         MyClass obj1= new MyClass();



         System.out.println("Employee's salary is: "+ obj1.salary);
         System.out.println("Employee's bonus is: "+ obj1.bonus);
         System.out.println("Total: "+ obj1.total);
         System.out.println("Yearly Salary: "+ obj1.yearlySalary);

        }

    }