gpt4 book ai didi

java - Java 中的 setter/getter ——我正在做的事情安全吗?

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

我有一个封装了一些功能的私有(private)内部类。它填充两个 ArrayList。我有只返回私有(private)变量的 ArrayLists 的 setter/getter 。需要 setter/getter 吗?我可以只使 ArrayLists 成为公共(public)实例变量吗?最佳做法是什么?

public class OuterClass {
//Stuff the OuterClass does

private class InnerClass {
private ArrayList<String> array1;
private ArrayList<String> array2;

public InnerClass() {
//Init and do stuff w/ arrays
}

public ArrayList<String> getArray1() {
return array1;
}

public ArrayList<String> getArray2() {
return array2;
}
}
}

最佳答案

Yes 可以使 Arraylist public,尽管最佳实践是使用 getter。这允许您构建副作用,例如

  • 执行计算
  • 检查约束
  • 延迟初始化
  • 提供可能继承的方法

它还允许您在将来修改类的内部结构而不会违反契约(Contract)。

关于java - Java 中的 setter/getter ——我正在做的事情安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7826161/

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