A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邝雄伟 中级黑马   /  2013-2-1 16:40  /  1203 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JavaBean是一种组件,可被复用。如果T为类型 N为属性名称
Public T getN()
Public void setN(T arg)
这是javaBean的书写格式。在javaBean的API中提供了一些类和方法  如:PropertyDescription类的实例可以描述Bean的属性。假设我们知道了某个javaBean的成员属性的名称,运用反射机制那么我们就可以通过该类提供的getReadMethod()方法读取到这个属性名称对应的值,还可以通过getWriteMethod()方法修改该属性的值。JavaBean中的成员属性一般都是私有的。也是一种封装,而它对外提供的这些方法却能访和修改,这样对javaBean的封装是一种破坏吗?

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

1 个回复

倒序浏览
不是。封装并不是为了让某个字段不被访问,恰恰相反的就是封装只是为了让一类事物的相似属性进行集中操作。
零散的变量不如javabean对象方便,比如一个方法有十个参数,但这些参数可能可归于某类或几类的时候,这个时候我们就可以向上抽取javabean来进行封装。
在我们不提供getter和setter方法的时候,字段的操作通过对象直接“.”的方式无法进行响应处理,比如只读,或对字段进行一些运算。而通过setter和getter可在方法中进行实时处理,getter和setter方法只是隐藏了这些细节。

评分

参与人数 1技术分 +1 收起 理由
冯海霞 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马