Java原生支持像C#中的属性吗?还是在Java编程时,当尝试封装变量时,只能通过getVariable()
和setVariable()
这种方法来实现?
谢谢
Java原生支持像C#中的属性吗?还是在Java编程时,当尝试封装变量时,只能通过getVariable()
和setVariable()
这种方法来实现?
谢谢
不行
在Java语言中没有属性的概念。需要使用getter和setter方法。
Java不支持类似于C#的属性。您需要使用getter和setter,但要注意不要意外地通过返回对象的引用而不是其副本的引用来让用户访问封装的数据。
正如其他人所说,Java本身没有属性。通常的方法是使用getter和setter。另外一方面,Delphi支持类似于C#的属性。
在Java中绝对不支持AutoProperties。似乎也找不到任何未来将支持它的提及。
我上次查询时,Java并不支持属性。
C# 属性与 Delphi 属性类似,这是因为它们受到了 Delphi 属性的启发。 当然,Borland 的 Delphi 团队中的关键人物转投微软并设计 C#,这两者之间并没有任何联系 :)
去年有一个提案(实际上有几个)想要将 C# 风格的属性添加到 Java 中,但由于被视为只是纯粹的语法糖,没有真正的附加价值,所以最终遭到社区的抵制。