gpt4 book ai didi

构造函数中的 Java 可重写调用

转载 作者:搜寻专家 更新时间:2023-10-31 19:58:11 25 4
gpt4 key购买 nike

我知道从 Java 中的对象构造函数调用可重写的方法是一种不好的(安全)做法。但是,例如,如果构造函数必须初始化一些数据,那么调用相应的 setter 方法似乎是合理的,这样我就不会复制代码。二传手是公开的,而不是最终的。有没有任何标准的方法来处理这个问题,比如声明公共(public)方法调用的私有(private) setter 方法?为了说明,这里有一些代码:

class A {
private double x,y;
private privateSetX(double x1) { x=x1; }
private privateSetY(double y1) { y=y1; }
public A() { privateSetX(0); privateSetY(0); }
public setX(double x1) { privateSetX(x1); }
public setY(double y1) { privateSetY(y1); }
};

最佳答案

如果您真的想要这样做,请创建一个由构造函数和公共(public) setter 调用的辅助私有(private) setter 方法。

关于构造函数中的 Java 可重写调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6104262/

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