Java 我能';不要将一个类扩展到另一个具有构造函数的类
在继承中,我们了解到要访问另一个类的方法,我们应该编写“extends(父类)”。嗯,它是强文本工作。但是我创建了一个类“People”,其中包含构造函数“People”。我创建了另一个类“Player”。每当我试图将“Player”类扩展为“People”类时,就会显示错误(表示…“构造函数Player未定义”)Java 我能';不要将一个类扩展到另一个具有构造函数的类,java,Java,在继承中,我们了解到要访问另一个类的方法,我们应该编写“extends(父类)”。嗯,它是强文本工作。但是我创建了一个类“People”,其中包含构造函数“People”。我创建了另一个类“Player”。每当我试图将“Player”类扩展为“People”类时,就会显示错误(表示…“构造函数Player未定义”) 。如何处理此问题?您需要在Player类中创建一个构造函数,该构造函数具有以下所需参数 public Player(String x,int y,String d){} 因为您没
。如何处理此问题?您需要在Player类中创建一个构造函数,该构造函数具有以下所需参数
public Player(String x,int y,String d){}
因为您没有使用类Player的空构造函数
或者你可以这样做
Player player = new People("",some int value,"");
这是因为在子类中没有定义类似的参数构造函数。有两种方法可以解决此问题
public Player(String name, String age, String hairColor) {
super(a);
}
Public Player(){
super();
}
但是人没有默认的构造函数,所以调用super()
将抛出编译错误,这就是为什么必须创建参数化构造函数的原因。因此,只需在People类中创建一个默认构造函数并使用setter方法:
public People(){
}
是的,因此您需要在
Player
中声明一个构造函数,该构造函数使用super(…)
委托给People
构造函数。现在还不清楚你是如何学习Java的,但是在你使用的关于构造函数的任何书籍/教程中都应该有一个完整的部分-你想要一个关于链接到另一个构造函数的部分。是吗?构造函数播放器没有定义,但是你尝试过定义它吗?Eclipse建议您为您生成它(请参见该行左侧的图标)谢谢大家,它非常有用。请不要对代码截图提出疑问。复制/粘贴代码本身-更易于阅读。