Java 实际参数列表和形式参数列表长度不同,但实际上是相同的

Java 实际参数列表和形式参数列表长度不同,但实际上是相同的,java,constructor,Java,Constructor,因此,我尝试创建一个boxclient,使用以下文件从点中生成一个长方体: import java.awt.Point; public class boxclient{ public static void main(String[] args){ Point o = new Point(5,5); Point t = new Point(5,5); Point r = new Point(5,5); Point f = new Point(5

因此,我尝试创建一个boxclient,使用以下文件从点中生成一个长方体:

import java.awt.Point;

public class boxclient{

    public static void main(String[] args){
     Point o = new Point(5,5);
     Point t = new Point(5,5);
     Point r = new Point(5,5);
     Point f = new Point(5,5);

     Box one = new Box(o,t,r,f);
     }

    }
这是我的客户,这是我的box类:

import java.awt.Point;


public class Box{
private int x,y;
private int rot;
private int width, height;

private Point[] my = new Point[4];
private Box[] conto = new Box[100];
private int concount = 0;

 public void Box(Point topleft, Point topright, Point botleft, Point botright){
  this.my[0] = topleft;
  this.my[1] = topright;
  this.my[2] = botleft;
  this.my[3] = botright;
  }
我得到这个错误没有明显的原因:

发现1个错误: 文件:C:\Users\George\Desktop\2dShooter\boxclient.java[行:11] 错误:类框中的构造函数框无法应用于给定类型; 必需:无参数 找到:java.awt.Point,java.awt.Point,java.awt.Point,java.awt.Point,java.awt.Point 原因:实际参数列表和正式参数列表长度不同

有什么想法吗?我已经尝试重新启动我的drjava,并多次以相同的名称保存、编译和重写

public void Box(Point topleft, Point topright, Point botleft, Point botright){
这不是声明构造函数的正确方法。替换为:

public Box(Point topleft, Point topright, Point botleft, Point botright){
这不是声明构造函数的正确方法。替换为:

public Box(Point topleft, Point topright, Point botleft, Point botright){

您已经混淆了构造函数和方法。方法的返回类型至少为void。但是构造函数没有任何返回类型。他们只是创建新实例

所以

表示方法声明,它将不会被识别为构造函数。这就是抛出错误的原因

您必须使用No返回类型声明构造函数,就像下面的一样

public Box(Point topleft, Point topright, Point botleft, Point botright){

现在,构造函数有了正确的
Point
类型的参数列表。现在不会有任何错误。希望你能理解

您对构造函数和方法感到困惑。方法的返回类型至少为void。但是构造函数没有任何返回类型。他们只是创建新实例

所以

表示方法声明,它将不会被识别为构造函数。这就是抛出错误的原因

您必须使用No返回类型声明构造函数,就像下面的一样

public Box(Point topleft, Point topright, Point botleft, Point botright){

现在,构造函数有了正确的
Point
类型的参数列表。现在不会有任何错误。希望你能理解

您需要添加一个构造函数。您在这里只调用一个方法。

您需要添加一个构造函数。这里只调用一个方法。

对特定错误消息的解释是,缺少声明的构造函数会导致编译器生成零参数构造函数,无法使用四个参数调用。对特定错误消息的解释是,缺少声明的构造函数会导致编译器生成零参数构造函数,不能使用四个参数调用该构造函数。