所以我正在尝试创建一个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 [line:11] 错误:类Box中的构造函数Box不能应用于给定类型; 必需:没有参数 发现:java.awt.Point,java.awt.Point,java.awt.Point,java.awt.Point 原因:实际和正式的参数列表长度不同
有什么想法吗?我已经尝试重新启动我的drjava并保存和编译并重写几次相同的名称。
答案 0 :(得分:7)
public void Box(Point topleft, Point topright, Point botleft, Point botright){
这不是声明构造函数的正确方法。将其替换为:
public Box(Point topleft, Point topright, Point botleft, Point botright){
答案 1 :(得分:1)
您与构造函数和方法混淆了。方法的返回类型至少为 void 。但构造函数不具有任何返回类型。他们只是创建新实例。
所以,
public void Box(Point topleft, Point topright, Point botleft, Point botright){
表示Method声明,它不会被识别为构造函数。这就是抛出错误的原因。
您必须使用否返回类型声明构造函数,就像下面的那样
public Box(Point topleft, Point topright, Point botleft, Point botright){
现在,构造函数具有Point
类型的正确参数列表。现在不会有任何错误。希望你明白!
答案 2 :(得分:0)
您需要添加构造函数。你这里只是在调用方法。