用于可访问数据的Java约定. (公共访问者和获取者/命名)

前端之家收集整理的这篇文章主要介绍了用于可访问数据的Java约定. (公共访问者和获取者/命名)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
通过 Java API,您可以看到无数次冲突的命名和实践,这对我来说真令人困惑.

例如:

String类有一个私有变量(Integer),以count的名字跟踪字符串的大小,但是这是由一个getter以length()的名称返回的.

如果你移动到任何类型的数组,而不是一个getter方法的长度,他们只是传递变量通过一个公共访问器,它可以通过arrayInstance.length获得.

回到String类,我们有String#getBytes()方法,它是一个getter,类似于long()getter,但是执行稍微更多的逻辑来获取和返回值.

对我来说,个人来说,创建一个带有前缀get的getter似乎是多余的,例如我更喜欢输入GamePacket#data()和GamePacket#getData(),但是我觉得这个命名背后可能会有更深层的意义,而不是只是不一致.

另外,为什么Array []不使用getter的长度?

有没有人可以对我说明一点点光呢?

解决方法

Getters(和setter)来自Java Bean规范.使用它们的原因是多重的:

>大多数Java开发人员都希望访问者可以这样命名
>遵守这些约定的API更容易发现.例如,在我的IDE中,我经常会按Ctrl键找到对象中的所有可用信息.
>许多API和框架依赖于这些约定:JSP EL,MVC框架从请求参数中填充bean,JPA,依赖注入框架,如Spring等.

您通常以与保存信息的私有变量相同的方式命名getter,但重要的是封装和公共API,所以没有什么可以阻止您在getter中计算值,或者以不同的方式命名私有字段.

猜你在找的Java相关文章