我正在我的计算机科学课上学习继承。我也很困惑为什么我的代码不起作用。这是教授提供的代码:
public class Store{
public final double SALES_TAX_RATE = 0.05;
private String name;
public Store(String name){
setName(name);
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
public String toString(){
return "Name: "+ name;
}
}
作业要求我们创建具有以下附加属性的网络商店:Internet 地址和编写网站的编程语言。编写新类的构造函数和 toString 方法。
这正是我所做的,但是我的代码不起作用:
public class WebStore extends Store
{
String Link;
String Lang;
public WebStore(String Link, String Lang)
{
this.Link = Link;
this.Lang= Lang;
}
public void setLink( String Address )
{
Link = Address;
}
public String getLink()
{
return Link;
}
public void setLang( String Language )
{
Lang = Language;
}
public String getLang()
{
return Lang;
}
}
这是我得到的错误:WebStore.java:9: 错误:类 Store 中的构造函数存储不能应用于给定类型;{ ^ required: String found: no arguments 原因:实际和正式的参数列表长度不同
为什么我会收到此错误,我的代码看起来也是如此?对不起,如果这是一个愚蠢的问题,但我是 Java 新手
这实际上是一个非常简单的修复。你必须super()
在你的WebStore
班级中加入一个电话。我建议您将WebStore
构造函数更改为如下所示:
public WebStore(String name, String Link, String Lang) {
super(name);
this.Link = Link;
this.Lang= Lang;
}
这必须在 Java 中完成,因为如果您扩展具有构造函数的类,则必须super()
使用所需的参数调用它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句