Java 使用调用自定义getter/setter的公共变量/成员

Java 使用调用自定义getter/setter的公共变量/成员,java,getter-setter,Java,Getter Setter,我通过尝试在Java中的自定义类中重新创建“字符串”来测试自己。这意味着包含用于保存实际文本的变量和长度;作为例子 不是我有问题,而是我不确定它是否存在 我对所有应该通过setter而不是直接访问的成员使用私有访问器。我只是好奇,是否可以让公共成员在访问getter/setter时使用它 因此,如果通过“string_name=“sample string”对其进行修改;它将使用setter。如果正在通过“另一个字符串=字符串名称”进行读取;它将使用getter 有这样的事吗?我想更多地了解这一

我通过尝试在Java中的自定义类中重新创建“字符串”来测试自己。这意味着包含用于保存实际文本的变量和长度;作为例子

不是我有问题,而是我不确定它是否存在

我对所有应该通过setter而不是直接访问的成员使用私有访问器。我只是好奇,是否可以让公共成员在访问getter/setter时使用它

因此,如果通过“string_name=“sample string”对其进行修改;它将使用setter。如果正在通过“另一个字符串=字符串名称”进行读取;它将使用getter

有这样的事吗?我想更多地了解这一点

有这样的事吗

不幸的是,其他语言并没有在Java中提供这种功能,例如C#、JavaScript、Kotlin等


在Java中,您必须显式地调用相应的getter和/或setter。

Java不支持magic访问器。很多语言都是这样,但在Java中,getter和setter是显式的。啊,这太可惜了。我记得大约一年前我用另一种语言读到过关于它的文章,我认为这是一件很好的事情。也许值得将Kotlin添加到这个列表中——毕竟它是一种JVM语言。@ohlec我想这就是我添加“et al”的原因,因为有很多语言提供了这个功能。如果我没弄错的话,我想Ruby也会这么做。当然,如果有帮助的话,我会补充一句。哦,好吧,它并不是真正的游戏规则改变者。使用setter或getter仍然可以完成相同的任务。我只是想让它尽可能的相似。