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就可以了。

猜你喜欢

转载自blog.csdn.net/tb9125256/article/details/81435444