黑马程序员技术交流社区
标题:
属性与public字段有什么区别??
[打印本页]
作者:
谢玲
时间:
2012-12-18 09:22
标题:
属性与public字段有什么区别??
属性与public字段有什么区别??
作者:
黑马黄涛
时间:
2012-12-18 09:37
本帖最后由 黑马黄涛 于 2012-12-18 09:44 编辑
哎..不对,看错了,不好意思...
那是肯定有区别的啦...
如果没有get和set方法..他就是字段...加上就可以说这是属性...
反射中必需要给字段提供get 和set方法的...要不然不认的...最主要是这点区别吧...
作者:
王晨
时间:
2012-12-18 09:42
本帖最后由 刪除記忆ご 于 2012-12-18 09:44 编辑
区别:
属性的定义:属性是一个代表类的实例或类中的一个数据项的函数成员。从定义可以看出,属性是类的一个函数成员或者说是方法。对类的属性的设定和获取可以用两个访问器set和get来实现。
字段的定义:类的字段准确地说应该是类的数据成员,其定义是:用于存储类和类的实例相关数据的变量。
所以,简单说来,字段是一个用于存储数据的变量,属性是一个方法或者说是一个函数成员。
作者:
张向阳
时间:
2012-12-18 09:43
属性可以通过get和set方法进行非法值的控制,比如年龄不能设置成负值!而字段则不能进行这样的设置!
作者:
黑马黄涛
时间:
2012-12-18 09:46
private String name;
private int age;
name 有get 和set方法...而age没有,那么在反射时,Person类只被看作有一个属性....
还有get和set方法用来保护属性不越界...出于安全性的考虑,面向对象的特点...封装嘛...
作者:
唐海军
时间:
2012-12-18 10:56
属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置。虽然一般情况下get读取的值就是set设置的值,但是可以让get读取的值不是set设置的值的。
作者:
dbqwaii
时间:
2012-12-19 13:51
属性是通过gei/set方法进行填值 从而起到保护作用
然而 public 字段 可以直接调用
例如 你想赋个性别 public sex;
别人用的时候 ,完全可以赋个3 或者猜
但有了属性get/set就不一样了, 可以进行判断 如果赋的不是男或者女 则可以返回你设定的值
希望对你有帮助
--正在努力学习,希望进入黑马的小学员
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2