Java中字段和属性的区别

如上图所示:

  • 属性c由 getter/setter和字段 c 组成
  • 属性a 由getter/setter组成
  • b 没有getter和setter,所以是字段

  Java中的属性(property),通常可以理解为get和set方法,而字段(field),通常叫做“类成员”,或 “类成员变量”,有时也叫“域”,理解为“数据成员”,用来承载数据的。

  区别开属性与字段是为了更好的实现数据安全,比如当我们想给一个类的属性赋值或者其他类用到了,就需要将这个字段设置为public,然而这样可以对字段进行任意的读写操作,非常不利于数据安全。于是就加上了属性,简单说属性实现了字段的封装,属性有get、set 方法来控制字段,该字段的属性只有set方法没有get方法,就只可以对该方法进行赋值操作,没有读操作,反之亦然。就是对对字段的操作通过属性来控制。

注意:
其规则是:去掉get或set后其剩余的字符串,如果第二个字母是小写的,则把第一个字母也变成小写,否则第一个字母也不变

   突然想起2015年遇到的一个问题,当时给类起了个名字类似ABc(也就是首字母和第二个字母都是大写),然后用spring用类名注入时,我就把类名写成 aBc,当时就是无法注入,后来把类名改成Abc勉强解决这个问题,现在想想应该吧注入的类名写成ABc就可以了。

  • 22
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值