我正在學習Java中的多級繼承,並且被困在下面的代碼中。但它顯示1錯誤。並且有沒有其他方法可以做到這一點。我可以在使用方法時進行繼承嗎?任何人都可以提供幫助嗎?提前。 這是錯誤:如何在下面的Java代碼中刪除多級繼承中的錯誤?
shoppingmain.java:27:錯誤:類B中的構造方法B不能應用於給定的類型; { ^ 要求:字符串,整數
發現:沒有參數
原因:實際的和正式的參數列表的長度不同
1錯誤
class A{
int price;
String product;
}
class B extends A
{
int quantity;
int total;
B(String a,int b)
{
product=a;
price=b;
}
void productdetails()
{
System.out.println("The product name is"+product);
System.out.println("The price is"+price);
}
}
class C extends B
{
C(int c,int d)
{ //line 27
quantity=c;
total=d;
}
void productcost()
{
System.out.println("The quantity is"+quantity);
System.out.println("The total cost is"+total);
}
}
class shoppingmain
{
public static void main(String args[])
{
B obj1=new B("pen",5);
C obj2=new C(2,10);
obj1.productdetails();
obj2.productcost();
}
}
請:a)本減少到[MCVE] b)對代碼進行格式化 - 目前全部都在這個地方; c)在問題中包含錯誤,而不是僅僅說「它顯示錯誤」; d)按照Java命名約定使示例儘可能容易閱讀; e)說出你想要達到的目標......你問「有沒有其他的方式可以做到這一點」而不用說「這個」是什麼。 –
當你像@JonSkeet那樣說,B擴展A可能是壞設計(重複變量是誤解),並且打印方法也不好設計太 –
除了@JonSkeet指出的內容,還請正確縮進代碼;閱讀「原樣」非常具有挑戰性。 – EJoshuaS