参见英文答案 > Does Java have “properties” that work the same way properties work in C#? 5个
我知道这个问题类似于其他人询问Java Properties,这些问题的答案似乎是“不,你必须使用getter / setters”.
我搜索了类似C#的Java属性,但到目前为止只发现了一个“命中”.我不确定它是属性还是其他东西.
Reading the Java Tutorial,我偶然发现了一些文字和代码(**强调和评论我的):
Finally, you can use the built-in **length property** to determine the
size of any array. The code:
//notice lack of brackets after anArray.length :
System.out.println(anArray.length);
will print the array's size to standard output.
由于Array有一个length属性,Java确实有属性,对吧?
有人可以指出一些关于它们的文档吗?
解决方法:
这实际上取决于您使用的定义.在不使用括号的情况下访问某些类的数据是“属性”的一个非常弱的定义.您可以将任何类/实例成员字段设置为公共,从而无需使用方法即可访问它.
这不会使它像C#属性,你可以添加自定义逻辑,如何在该字段上进行获取和设置!你直接读/写变量.数组的长度字段是不可写的,实际上是不可变的,因此完成它并不是一种可怕的风格.但是暴露其领域的其他类也遇到了麻烦,比如Point和Dimension.
标签:java,properties
来源: https://codeday.me/bug/20190729/1576163.html