我做了这个练习,他们问我创建了多少个point示例,他们回答了14,但我数了13,因为我不把板算为示例。它是?为什么?因为对我来说,我们创建了一个新的电路板,有10个点的大小,但我们没有示例,因为我们需要一个x和一个y来做不?
public class Point {
private double x, y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
public Point addition(Point p) {
return new Point(x + p.x, y + p.y);
}
public String toString() {
return "Point [x=" + x + " , y=" + y + "]";
}
}
public class Test {
public static void main(String[] args) {
Point p = new Point(1, 1);
Point[] board = new Point[10];
for (int i = 0; i < 6; i++)
tab[i] = p.addition(new Point(i, 1));
System.out.println(p);
Point p2 = p;
p2 = p.addition(tab[0]);
System.out.println(p + " " + p2);
}
}
2条答案
按热度按时间yws3nbqq1#
请看下面的代码,它是创建14次。我添加了一个静态方法和静态对象来计算对象的数量。此外,您可以将调试点放在构造函数中,并检查自己,它是如何被调用的。
测试类被更改为在不同阶段打印此计数
o/p是
lnxxn5zx2#
是的,你的逻辑是正确的。创造
board
(数组)Point
)不涉及创建任何Point
示例。它只是一个数组。但是有14个例子
Point
在代码中创建:第3行创建(
new Point (1 ,1)
)其中六个在for循环中创建,另外六个在
addition
方法调用。9号线一个
addition
方法)。我想你错过了最后一个:)