java - 数组作为构造函数参数

标签 java

我有一个问题。我正在学习 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/

相关文章:

java - 转义引号

java - 如何调整 JPA 的大小以适应 Criteriaquery

Javafx StackedBarChart 错误

java - spring mvc 中的服务层需要什么?推荐什么样的逻辑?

java - 如何为 Java Spring Boot 和 MySql 设置 Docker 容器

java - 关于本地类的矛盾陈述,哪一个是正确的?

java - 如何以编程方式从 Android 获取自定义 ROM/Android 操作系统名称

java - Selenium : How to stop geckodriver process impacting PC memory, 没有调用 driver.quit()?

java - 有效地进行 Java String 替换

java - jstack命令中的帧是什么