gpt4 book ai didi

java - 我可以在声明变量后将其设为 final 吗?

转载 作者:太空狗 更新时间:2023-10-29 23:02:50 25 4
gpt4 key购买 nike

我正在制作一个银行模型,一个 Account 类有一个 accountNumber 字段。帐号不应更改,但我不能将字段设置为最终字段,因为这将阻止构造函数设置它。

如果无法做到这一点,也没关系。这只是一个 CS 作业,所以我想确保我以最好的方式完成它。

最好的实现方式是将字段及其 setter 方法设为私有(private)吗?

最佳答案

如果它被标记为 final,则构造函数可以设置它,例如以下是合法的:

public class BankAccount {

private final int accountNumber;

public BankAccount(int accountNumber) {
this.accountNumber = accountNumber;
}

}

事实上,如果一个字段被标记为 final 但未在其声明中初始化,那么它必须在所有构造函数中设置。

如果您没有在类上放置一个公共(public) setter ,则无法从类外部更改帐号,但将其标记为 final 也可以防止它(意外地)被类内的任何方法更改。

关于java - 我可以在声明变量后将其设为 final 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4189045/

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