【问题标题】:actual and formal argument lists differ in length, but they actually are the same实际参数列表和形式参数列表的长度不同,但它们实际上是相同的
【发布时间】:2013-12-23 02:18:36
【问题描述】:

所以我正在尝试创建一个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);
     }

    }

那是我的客户,这是我的盒子类:

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] 错误:Box 类中的构造函数 Box 不能应用于给定类型; 必需:无参数 找到:java.awt.Point,java.awt.Point,java.awt.Point,java.awt.Point 原因:实际参数列表和形式参数列表的长度不同

有什么想法吗?我尝试重新启动我的 drjava 并保存、编译和重写为同名几次。

【问题讨论】:

    标签: java constructor


    【解决方案1】:
    public void Box(Point topleft, Point topright, Point botleft, Point botright){
    

    这不是声明构造函数的正确方法。将其替换为:

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

    【讨论】:

    • 具体错误信息的解释是缺少声明的构造函数导致编译器生成一个零参数的构造函数,不能用四个参数调用。
    【解决方案2】:

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

    所以,

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

    表示 Method 声明,它不会被识别为 Constructor。这就是引发错误的原因。

    你必须用 No 返回类型声明 Constructor,就像下面的那样

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-04-06
        • 2019-08-10
        • 2023-03-25
        • 2016-05-31
        • 2018-05-08
        • 2013-10-04
        • 1970-01-01
        • 2013-07-18
        相关资源
        最近更新 更多