gpt4 book ai didi

java - 我们在 java 中是否有一个 Readonly 字段(在类本身的范围内可以设置)?

转载 作者:IT老高 更新时间:2023-10-28 20:55:12 24 4
gpt4 key购买 nike

我们怎样才能在类中拥有一个可写但在类外只能“可读”的变量?

例如,不必这样做:

Class C {
private int width, height;

int GetWidth(){
return width;
}

int GetHeight(){
return height;
}

// etc..

我想做这样的事情:

Class C {
public_readonly int width, height;

// etc...

什么是最好的解决方案?

最佳答案

使用 public final 字段创建一个类。提供将初始化这些字段的构造函数。这样你的类将是不可变的,但你不会有从外部访问值的开销。例如:

public class ShortCalendar
{
public final int year, month, day;

public ShortCalendar(Calendar calendar)
{
if (null == calendar)
throw new IllegalArgumentException();

year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DATE);
}
}

关于java - 我们在 java 中是否有一个 Readonly 字段(在类本身的范围内可以设置)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8151342/

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