【发布时间】:2022-10-07 19:36:38
【问题描述】:
我正在用 Java 做作业,我对这门语言很陌生,但我检查了这个错误,这意味着,好吧,你没有将参数传递给函数(我的案例构造函数)。但我确实通过了一个论点。这是代码:
6 final public class FirstEntityWithSorting extends FirstEntityWithArray{
7 SecondEntityWithData[] arr;
8
9 public FirstEntityWithSorting(SecondEntityWithData[]arr){
10 this.arr = arr;
11 }
...
19 public static void main(String[] args) {
20 SecondEntityWithData[] s_arr = new SecondEntityWithData[2];
21
22 s_arr[0] = new SecondEntityWithData("hi",1);
23 s_arr[1] = new SecondEntityWithData("yo",2);
24 FirstEntityWithSorting f = new FirstEntityWithSorting(s_arr)
超类:
6 public class FirstEntityWithArray extends FirstAbstractEntity {
7 SecondEntityWithData[] arr;
8 public FirstEntityWithArray(SecondEntityWithData[]arr) {
9 this.arr = arr;
10 }
和错误本身:
FirstEntityWithSorting.java:9: error: constructor FirstEntityWithArray in class FirstEntityWithArray cannot be applied to given types;
public FirstEntityWithSorting(SecondEntityWithData[]arr){
^
required: SecondEntityWithData[]
found: no arguments
reason: actual and formal argument lists differ in length
我正在从一个有效的类扩展这个类,它具有相同的构造函数,并且在 main 中发生了相同的事情,那么问题是什么?
【问题讨论】:
-
提示:
FirstEntityWithArray中有哪些构造函数?您的FirstEntityWithSorting构造函数需要显式或隐式调用其中之一(作为其超类)。 (你确定你真的需要继承吗?) -
FirstEntityWithArray长什么样子?很可能您缺少对超级构造函数的调用。 -
code6 公共类 FirstEntityWithArray 扩展 FirstAbstractEntity{ 7 SecondEntityWithData[] arr; 8 public FirstEntityWithArray(SecondEntityWithData[]arr){ 9 this.arr = arr; 10}code -
this compiles fine。您确定您发布了实际代码吗?
-
首先,请将关键信息放在问题中,而不仅仅是在 cmets 中。其次,看起来您需要研究继承如何与构造函数一起工作。
标签: java