如何正确使用“扩展”?

詹姆士

我正在我的计算机科学课上学习继承。我也很困惑为什么我的代码不起作用。这是教授提供的代码:

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 新手

CJ伯基

这实际上是一个非常简单的修复。你必须super()在你的WebStore班级中加入一个电话我建议您将WebStore构造函数更改为如下所示:

public WebStore(String name, String Link, String Lang) {
    super(name);
    this.Link = Link;
    this.Lang= Lang;
}

这必须在 Java 中完成,因为如果您扩展具有构造函数的类,则必须super()使用所需的参数调用它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章