gpt4 book ai didi

java - Java 中的 Getter 方法

转载 作者:行者123 更新时间:2023-12-01 07:13:33 25 4
gpt4 key购买 nike

我的问题是,getter 方法是否可以返回包装数据类型?会不会违反封装原则?为什么不?类的不变性是封装的一部分吗?

public class TestGetter{
private Integer a;
public TestGetter(int _a){
a = _a;
}
public Integer getA(){
return a;
}
}

在一些客户端代码中:

TestGetter tg  = new TestGetter(5);
Integer corruptX = tg.getA();//This should return the reference
corruptX = null;

所以现在一个=空?

当我运行它时,我没有看到 a 为空。

最佳答案

这与以下内容没有什么不同:

Object a = new Object();
Object b = a;
b = null;
// a is not null here

修改引用与修改所引用的对象不同。

回答您有关封装的问题;是的,可以返回对 Integer 成员变量的引用,因为 Integer 实例是不可变的

关于java - Java 中的 Getter 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8766715/

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