我有一个问题。我正在学习 java 并且此示例代码无法正常工作,说:
$javac Quicksort.java 2>&1
Quicksort.java:16: error: constructor Quicksort in class Quicksort cannot be applied to given types;
Quicksort qc = new Quicksort(values);
^
required: no arguments
found: int[]
reason: actual and formal argument lists differ in length
1 error
无法弄清楚为什么。谁能帮忙??
我的代码片段是:
public class Quicksort{
public int[] number ;
public void Quicksort(int[] values){
this.number=values;
}
public void print(){
for (int i=0; i<number.length;i++)
System.out.println(number[i]);
}
public static void main(String[] args){
int[] values = {3,4,5,6,7,8};
Quicksort qc = new Quicksort(values);
qc.print();
}
}
最佳答案
您对 Constructor
的定义不正确。
public void Quicksort(int[] values){
this.number=values;
}
应该是
public Quicksort(int[] values){
this.number=values;
}
构造函数没有返回类型。
Providing Constructors for Your Classes
A class contains constructors that are invoked to create objects from the class blueprint. Constructor declarations look like method declarations—except that they use the name of the class and have no return type.
例如,Bicycle
有一个构造函数:
public Bicycle(int startCadence, int startSpeed, int startGear) {
gear = startGear;
cadence = startCadence;
speed = startSpeed;
}
关于java - 数组作为构造函数参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18652403/