是否可以在Java中使用一个类的构造函数并在另一个类中将其声明为数据类型?
如果在类Point中有一个名为Point的构造函数:是否可以在Java中使用一个类的构造函数并在另一个类中将其声明为数据类型?,java,constructor,Java,Constructor,如果在类Point中有一个名为Point的构造函数: public Point(double x, double y) { this.x = x; this.y = y; } 如何使用另一个名为Square的类初始化点。例如,我想初始化正方形中的4个点。我该怎么做 我不知道这是否有道理。但是,我尽力了。。。问我一些问题,以便我能更好地解释。我看不出问题所在。您的Square将只包含四个Point类型的成员,这些成员将使用常用的新语法进行初始化: 我看不出有什么
public Point(double x, double y) {
this.x = x;
this.y = y;
}
如何使用另一个名为Square的类初始化点。例如,我想初始化正方形中的4个点。我该怎么做
我不知道这是否有道理。但是,我尽力了。。。问我一些问题,以便我能更好地解释。我看不出问题所在。您的Square将只包含四个Point类型的成员,这些成员将使用常用的新语法进行初始化:
我看不出有什么问题。您的Square将只包含四个Point类型的成员,这些成员将使用常用的新语法进行初始化:
您的Square类应该有如下构造函数:
public Square(Point p1, Point p2, Point p3, Point p4) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
this.p4 = p4;
}
Square s = new Square(new Point(1,1), new Point(2,2), new Point(3,3), new Point(4,4));
您可以按如下方式初始化正方形:
public Square(Point p1, Point p2, Point p3, Point p4) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
this.p4 = p4;
}
Square s = new Square(new Point(1,1), new Point(2,2), new Point(3,3), new Point(4,4));
您的Square类应该有如下构造函数:
public Square(Point p1, Point p2, Point p3, Point p4) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
this.p4 = p4;
}
Square s = new Square(new Point(1,1), new Point(2,2), new Point(3,3), new Point(4,4));
您可以按如下方式初始化正方形:
public Square(Point p1, Point p2, Point p3, Point p4) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
this.p4 = p4;
}
Square s = new Square(new Point(1,1), new Point(2,2), new Point(3,3), new Point(4,4));
你能行
public Shape(Point... points) {
this.points = points;
}
或
或
你能行
public Shape(Point... points) {
this.points = points;
}
或
或
如果要使点具有正方形,请将其设置为属性:
class Square {
Point p1, p2, p3, p4;
public Square() {
p1 = new Point(0,0);
p2 = new Point(0,0);
p3 = new Point(0,0);
p4 = new Point(0,0);
}
}
当然,还有无数其他的定义和使用方法。它将主要取决于您的类/程序设计,您应该选择什么。如果您想要有一个带有for点的正方形,请将其设置为属性:
class Square {
Point p1, p2, p3, p4;
public Square() {
p1 = new Point(0,0);
p2 = new Point(0,0);
p3 = new Point(0,0);
p4 = new Point(0,0);
}
}
当然,还有无数其他的定义和使用方法。它主要取决于你的类/程序设计,你应该选择什么。我不确定我是否遵循,但是如果你有一个像你所说的构造函数,你可以简单地调用新的Point10.0,15.0,在指定的坐标处创建一个点 也许你想要的是这样的东西
class Square {
private Point upperLeftCorner;
private Point upperRightCorner;
private Point lowerLeftCorner;
private Point lowerRightCorner;
public Square(double x, double y, double size) {
upperLeftCorner = new Point(x, y);
lowerLeftCorner = new Point(x, y+size);
upperRightCorner = new Point(x+size, y);
lowerRightCorner = new Point(x+size, y+size);
}
}
我不确定我是否理解,但是如果你有一个像你所说的构造函数,你可以简单地调用新的Point10.0,15.0在指定的坐标处创建一个点 也许你想要的是这样的东西
class Square {
private Point upperLeftCorner;
private Point upperRightCorner;
private Point lowerLeftCorner;
private Point lowerRightCorner;
public Square(double x, double y, double size) {
upperLeftCorner = new Point(x, y);
lowerLeftCorner = new Point(x, y+size);
upperRightCorner = new Point(x+size, y);
lowerRightCorner = new Point(x+size, y+size);
}
}
这就是你的意思吗 爪哇岩土工程师 [{0.0,0.0},{0.0,10.0},{10.0,10.0},{10.0,0.0}] 代码:
这就是你的意思吗 爪哇岩土工程师 [{0.0,0.0},{0.0,10.0},{10.0,10.0},{10.0,0.0}] 代码:
你能更好地问这个问题吗?你能更好地问这个问题吗?那不是一个假设笛卡尔平面的正方形。最好用一个点的位置和大小初始化正方形,然后在构造函数中计算其他3个点。+1这种方法唯一的问题是,你可以有任何四个顶点的形状,而不仅仅是一个正方形。你提供了一个很好的例子,说明创造一个非正方形的东西是多么容易;我意识到,这更多的是对标题中所问问题的回答。这不是一个假设笛卡尔平面的正方形。最好用一个点的位置和大小初始化正方形,然后在构造函数中计算其他3个点。+1这种方法唯一的问题是,你可以有任何四个顶点的形状,而不仅仅是一个正方形。你提供了一个很好的例子,说明创造一个非正方形的东西是多么容易;我意识到,这更多的是对标题中所问问题的回答。第p1点、第p2点、第p3点、第p4点;-这就是我要找的。不知道这是可能的。你不需要在构造函数中包含x,y坐标作为参数吗?@Appsheriff如果你愿意,你可以创建各种构造函数。你不必包括他们,你可以。所有这一切都取决于你所做的设计。点p1、p2、p3、p4;-这就是我要找的。不知道这是可能的。你不需要在构造函数中包含x,y坐标作为参数吗?@Appsheriff如果你愿意,你可以创建各种构造函数。你不必包括他们,你可以。一切都取决于你的设计。