如果函数返回2个值,例如:数组中的min / max或者例如点的x和y轴,则需要创建一个对象,因为函数不能返回2个值。
现在,考虑一个客户端,其“唯一”功能是在返回的对象中使用getter并打印。 和 返回的对象说MinMax或Point对象只由一个类创建,
我们应该使用嵌套类(例如:MinMax,Point可以是嵌套类)还是使用顶级类?
这是一个通用的问题 - 下面只是一个与问题相关的例子。请完成与代码示例相关的答案,因为它是一个非常通用的问题,不受示例代码的约束。
Point类是否应该返回内部类,类似于arraylist返回的方式?
class Point {
private final int x;
private final int y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
int getX() {
return x;
}
int getY() {
return y;
}
}
public class IntersectionOf2Lines {
public static Point calculateIntersection(Line line1, Line line2) {
int x = (line2.getConstant() - line1.getConstant()) / (line1.getSlope() - line2.getSlope());
int y = line1.getSlope() * x + line1.getConstant();
return new Point(x, y);
}
Line line3 = new Line(2, 2);
Line line4 = new Line(3, 2);
Point p1 = IntersectionOf2Lines.calculateIntersection(line3, line4);
System.out.println("Expected: x = 0, Actual x = " + p1.getX() + " Expected y=2, Actual y = " + p1.getY());
答案 0 :(得分:2)
顺便说一句:嵌套类需要嵌套在另一个类的范围内,而不仅仅是在你的例子中的同一个类文件中。