gpt4 book ai didi

java - 不可变类字段查询

转载 作者:行者123 更新时间:2023-12-02 02:50:04 24 4
gpt4 key购买 nike

我有一些与 immutable 类字段相关的问题。

假设我有一个类(class)学生:

public class Student {

private final int empId;
public int getEmpId() {
return empId;
}

public Student(int empId) {
this.empId=empId;

}
}

问题1:为什么需要将字段定义为privatefinal?

问题 2:为什么 final 需要与 private 一起使用。当我们将字段声明为 final 时,它在类外部将不可见?

问题 3:为什么我们不能将其设为公开最终版

提前致谢。

最佳答案

Question 1: why its necessary to define field as private final?

因为否则有可能添加修改字段的代码,然后它就不再是不可变的了。

Question 2: Why final is required along with private. As when we declared the field as final it will not be visible outside the class?

最后一句话不正确;将字段设置为 final 并不会使它在类之外不可见。 private 关键字的作用就是使其在类外部不可见。

Question 3: Why can't we make it public final?

您可以将其设置为public final,但字段通常应为private,并且只能由类内的方法直接访问。

关于java - 不可变类字段查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43996844/

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