关于继承的问题

josephliver 2015-12-03 03:16:54

public class Data {

String spelling;
String meaning;
static ArrayList<String> listOfSpellings;
static ArrayList<String> listOfMeanings;

static {
listOfSpellings=new ArrayList<String>();
listOfMeanings=new ArrayList<String>();
}

public Data(String word) {
String[] linearray=word.split(",");
this.spelling=linearray[0];
this.meaning=linearray[1];
}

public class Operation extends Data {



这个包里面Data是主类
然后IDE提示:无法将类Data中的Data应用到给定类型,需要String,实际参数列表和形式参数列表不同
...全文
157 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
nomasp 2015-12-04
  • 打赏
  • 举报
回复
因为父类的构造方法已经覆盖了原本无参默认的构造方法
qq_31403889 2015-12-04
  • 打赏
  • 举报
回复
没写空参控造器吧,我的一般都加一个空参构造器。
_南天北落 2015-12-03
  • 打赏
  • 举报
回复
继承结合设计模式的里氏替换原则看看。会对你帮助很大。
Sacrix 2015-12-03
  • 打赏
  • 举报
回复
当一个非继承的类还没有构造方法的时候,会自动得到无参数的构造方法。但如果有了,就不会自动得到了。 解法楼上几位已经说了。
  • 打赏
  • 举报
回复
如果要构造子类必须先构造父类,构造父类就要调用父类的构造方法,父类Data只有一个构造方法(默认无参的被覆盖了)。所以必须在子类的构造方法中的第一行代码调用super并且要传递一个String类型的参数。
a397137638 2015-12-03
  • 打赏
  • 举报
回复
你父类写一个无参的构造 你就可以不写Operation的构造器了
josephliver 2015-12-03
  • 打赏
  • 举报
回复
引用 1 楼 a397137638 的回复:
这样没有问题啊
为什么我不写Operation的构造器就不行了呢
a397137638 2015-12-03
  • 打赏
  • 举报
回复
这样没有问题啊

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧