Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在子类中使用来自两个不同方法的返回_Java_Inheritance_Subclass_Invoke_Superclass - Fatal编程技术网

Java 在子类中使用来自两个不同方法的返回

Java 在子类中使用来自两个不同方法的返回,java,inheritance,subclass,invoke,superclass,Java,Inheritance,Subclass,Invoke,Superclass,我正在努力完成学校作业的最后一部分 我是在另一个问题上问这个问题的,但没有得到回答。 在我的超类中有两个方法,我需要在我的子类中使用它们,一个方法必须在另一个方法中调用才能返回结果,我很难理解如何做到这一点 public class Pay { private float hours; private float rate; private int hrsStr; float gross; double tax; public void calc_Payroll() { if (hr

我正在努力完成学校作业的最后一部分

我是在另一个问题上问这个问题的,但没有得到回答。 在我的超类中有两个方法,我需要在我的子类中使用它们,一个方法必须在另一个方法中调用才能返回结果,我很难理解如何做到这一点

public class Pay
{
private float hours;
private float rate;
private int hrsStr;
float gross;
double tax; 

public void calc_Payroll()
{
    if (hrsStr != 0)
        gross = hrsStr + ((hours - hrsStr) * 1.33f) * rate;
    else
        gross = hours * rate;
}

public void tax(double a)
    {
    if (gross <= 399.99)
                tax = .92;
                else
                    if (gross <= 899.99)
                        tax = .88;
                    else 
                        tax = .84;
    }


    public void setHours(float a)
    {
        hours = a;
    }

    public float getHours()
    {
        return hours;
    }

    public void setRate(float a)
    {
        rate = a;
    }

    public float getRate()
    {
        return rate;
    }

    public void setHrsStr(int a)
    {
        hrsStr = a;
    }

    public int getHrsStr()
    {
        return hrsStr;
    }
}

你在为Java的语法而挣扎吗

public class Payroll extends Pay
{
    float net;

    @Override
    public void calc_Payroll()
    {
        // you can call `super.calc_Payroll()`
        // you can call `tax(double a)`
    }
}

这是同样的逻辑。否?请提供“计算净薪酬”需要执行的操作的更多详细信息。理想情况下,您需要在覆盖
calc_Payroll()
的过程中调用什么?计算净薪酬只需返回毛额*tax=net的结果。我希望它尽可能简单,理想情况下只调用super calc_Payroll()和Tax(double a)的结果,在某些方面我是的。我将尝试此操作。我尝试了此操作,并在税务行上收到错误-令牌“double”上的语法错误,删除此令牌-行断点:Payroll[line:12]-calc_Payroll()-无法解析为变量这是您的问题-我正在给您语法。显然,您需要初始化一个
a
变量,并按照正确的顺序进行操作好的,这样就消除了语法错误,但它仍然说a不能解析为变量,我可以调用变量,但我认为在使用“扩展”时已经发生了?
public class Payroll extends Pay
{
    float net;

    @Override
    public void calc_Payroll()
    {
        // you can call `super.calc_Payroll()`
        // you can call `tax(double a)`
    }
}