gpt4 book ai didi

java - 什么时候使用嵌套类?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:46 25 4
gpt4 key购买 nike

下面的代码将找到 2 条线的交点并返回点对象。如果点只能由 IntersectionOf2Lines 类创建,我应该将点设为嵌套类吗?如果不是那么为什么不呢?谢谢

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);
}

最佳答案

如果任何其他类都不需要 Point 类,并且 Point 类不需要访问 IntersectionOf2Lines 的私有(private)类成员,那么您可以使 Point 类成为一个静态嵌套类

静态嵌套类 是一种较轻的内部类,它无法访问父类(super class)成员,通常像 C 中的结构一样使用。

package main;

public class Main {

public static void main(String[] args) {

MyPoint p = new MyPoint();
p.x = 5;
System.out.println("x: "+ p.x);

}

private static class MyPoint {
int x;
}

}

关于java - 什么时候使用嵌套类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17128389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com