我是java新手,我在下面的练习中遇到了一些问题。这是我要做的。
据我所知,一个用java.awt.Rectangle制作的Rectangle 有一个x和y坐标,还有一个宽度和高度。所以,我可以创建一个这样的Rectangle(例如)。
Rectangle node = new Rectangle (5,10,15,20);
但是.., 我不知道怎样才能在那个矩形上加一个名字?. 到目前为止,我已经创建了一个这样的Node类。
import java.awt.Rectangle;
public class Node {
private int x;
private int y;
private int width;
private int height;
private String name;
public Node(int x, int y, int width, int height, String name) {
this.x = x;
this.y = y;
this.width = width;
this.height = height;
this.name = name;
}
}
我不知道这样做是否正确 因为根据我的理解 矩形对象已经有了5个参数中的4个 在我的构造函数中的节点。那么正确的做法是什么呢?我是否应该为一个矩形做一个父类,然后再做一个节点子类,在构造函数中添加一个名称即可?希望说的够清楚,我真的很困惑......谢谢你的时间!
你的构造函数已经很好看了。就我的理解而言。
一个节点有一个Rectangle和一个Name。
所以你的类成员应该是。
public class Node{
private String name;
private Rectangle rectangle;
...
}
通过保持相同的构造函数签名 你可以初始化这两个成员。name
和 rectangle
.
对于第三点,你需要有第二个没有参数的构造函数,默认初始化名称和矩形。默认的构造函数是这样的。
public Node(){
...
}
EDIT (回答你的评论)
差不多了 :) 我不太清楚你是要在构造函数中传递一个矩形,还是更像位置和大小。如果由我来决定,我实现了这两个功能。
public class Node{
private String name;
private Rectangle rectangle;
public Node(){
this.name = "some default name";
this.rectangle = // however you initialise your default rectangle
}
public Node(String name, int x, int y, int width, int height){
this.name = name;
this.rectangle = .... // use x,y, width and height to create a new rectangle
}
// your solution:
public Node(String name, Rectangle rectangle){
this.name = name;
this.rectangle = rectangle;
}