gpt4 book ai didi

java - 覆盖父方法无法正常工作

转载 作者:行者123 更新时间:2023-12-02 08:57:10 25 4
gpt4 key购买 nike

我需要计算对象酒的税,我已在父类中计算它,现在我需要在类酒中计算它,因为我有额外的税,现在我有这个 super 。

super.novaCijena(cijenaPr*ALC_TAX);

但我需要它像这样

super.novaCijena(cijenaPr)*ALC_TAX;

这是我当前的代码

主类

 public static void main(String[] args) 
{
Chocolate c= new Chocolate("Crna Čokolada", 10.5, 1254120, 200);
System.out.println(c);

Wine w= new Wine("Crno vino", 5.00, 0125452, 25);
System.out.println(w);
}

产品类别

public abstract class Product 
{
public String nazivProizvoda;
public int barKod;
public double cijenaPr;
public final double pDV=1.2;
//public double novaCijena;

public Product (String nazivProizvoda, int barKod, double cijenaPr)
{
this.nazivProizvoda=nazivProizvoda;
this.barKod=barKod;
this.cijenaPr=cijenaPr;
}


public double novaCijena(double cijenaPr)
{
double novaCijena=this.cijenaPr*pDV;
return novaCijena;
}


@Override
public String toString()
{
return "Proizvod: " + this.nazivProizvoda + ", " + "cijena: " + novaCijena(cijenaPr)
+ ", " + "bar kod: " + this.barKod;
}

和 Wine 课

public class Wine extends Product
{
public double zapremina;
public final double ALC_TAX=1.1;
//public double pDV;
public Wine (String nazivProizvoda, double cijenaPr, int barKod, double zapremina)
{


super(nazivProizvoda,barKod,cijenaPr);
this.zapremina=zapremina;
//this.pDV=pDV;
}

@Override
public String toString()
{

super.novaCijena(cijenaPr*ALC_TAX);
return super.toString() + ", " + "zapremina: " + zapremina + " ml.";
}
}

最佳答案

我认为你想要的是在 Wine 中有一个重写的方法:

@Override
public double novaCijena(double cijenaPr) {
return super.novaCijena(cijenaPr) * ALC_TAX;
}

并在 Wine 中调用 this.novaCijena(cijenaPr)

关于java - 覆盖父方法无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60424132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com