【弱问】一个很基础的事,JAVA为什么要用javabean? 为什么传值,非得get,set这样来进行。直接classA.intA这样用不好的地方是什么?哪位兄弟能给个 有说服力 的理由。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 老兄,现在有一个需求:在classA中访问classB的属性,要求classA只能读取classB的属性值,而不能修改。你怎么做呢?通过类直接访问属性能做到吗?但是,借助java的四个权限修饰符,将属性定义为private,属性对应的setter方法定义为private(你还可以不写setter方法),getter方法定义为public,就可以轻松实现。 JavaBean 在 Sun 站点上有个规范的样例,它的主要目的是为了像 VB 那样支持 IDE 的可视化开发,让我们拖一个组件到窗口中,然后改向个属性,它就能显示出来,这个过程在修改 UI 和附加事件的时候可以不需要写代码,就能提高开发效率。虽然现实中好的 UI 框架都是写出来的而不是拖放出来的,但是 SDK 给了我们这种在它的这个 JavaBean 基础上扩展 IDE 的机会和规范。而在其它地方的用到 JavaBean 主要是直接利用一个已经成形的规范而不是需要重新起草新的。它们要求支持 JavaBean 规范无非是因为它们要求目标类必须有一个公有的无参构造方法,属性可以通过 setXXX/getXXX 方法操作,这可以通过反射让程序自动化。 那样的话就不是封装了, 也就违背了java(面向对象)的本质了。 这好比一个人, 内脏器官是人的属性, 你只能通过人体外部的表象去看这人的那个器官有问题, 而不能直接把内脏取出来。 JAVABEAN 就是自定义的对象!数据存取都很方便和规范用CLASSA这种表现的,1是不专业 2凌乱 java中通过修饰符来实现数据的安全,通过修饰符限定权限,而set、get是对限制的数据进行访问。这个纯属个人片面理解,呵呵 就算是javabean,里面的private properties也可以直接访问,因为属性的可视性在运行期是可以强制修改的,所以所谓的封装性也只是表面意义上的。几乎所有的框架都是通过反射方式寻求每个javabean中各个属性的getter和setter,以访问它们,这已经是通用的模式了,不理解也得接受= =|||,至于为什么,那原因每本书的第一章里面都解释的一样 java的基本:面向对象,作为对象,就会有属性及方法。 因为它们要求目标类必须有一个公有的无参构造方法.难道是这个?就因为有这个目标,所以就用bean了? JavaBean 在 Sun 站点上有个规范的样例,它的主要目的是为了像 VB 那样支持 IDE 的可视化开发,让我们拖一个组件到窗口中,然后改向个属性,它就能显示出来,这个过程在修改 UI 和附加事件的时候可以不需要写代码,就能提高开发效率。虽然现实中好的 UI 框架都是写出来的而不是拖放出来的,但是 SDK 给了我们这种在它的这个 JavaBean 基础上扩展 IDE 的机会和规范。而在其它地方的用到 JavaBean 主要是直接利用一个已经成形的规范而不是需要重新起草新的。它们要求支持 JavaBean 规范无非是因为它们要求目标类必须有一个公有的无参构造方法,属性可以通过 setXXX/getXXX 方法操作,这可以通过反射让程序自动化。 通过builder模式创建的安全bean是否能通过反射修改值??????? javabean中的setter AND getter 就好像 你人一样 ,万物皆对象。人的外貌是 属性人的动作和行为 就是 JAVABEAN中的 方法 ; 这样做的话,在这个类中对其自身的属性有更高的可控性,比如在使用 setName 时,除了 this.name = name; 之外,还可以做一些其他的事情。如果直接把 name 属性给 public 了,那么就没有任何可控性了。 你先看两本java基础书在来问吧 javabean从数据库存取角度来说,好处是在于为你的数据定义一个格式。比如,你每一个数据库表可创建一个相映的javabean,每一个页面的表单也可以创建一个javabean。而它的缺点也在于此,比如,当页面的表单的javabean与数据库表相应的javabean属性不一致时要做了大量的转换工作而烦躁,有时,我会为这些烦躁转转工作而对javabean存在的意义提出了质疑。其实也不一定只用javabean如果一个系统主外键转多,想程序数据格式有更高的灵活性,你可以用MAP来存取数据。然而程序可读性和灵活性是不成正比的。使用了MAP数据的活性是大大提高了,而可读性也会比用javabea存储数据的方法有所下降。至于你你选择用不用javabean。只要你的设计在各方面的需求上找到一个很好的平衡点,那你就行了。 关于Java的IO操作 关于JtextArea中的数据保存为txt文件的换行问题!!!! jsp 选择什么框架呢 由大家的经验来看,在一个Editor中以increaseIndent命名的方法,起什么作用?? JAVA异常原因 学校课题:用java写操作系统........ 有人能说下x=x+4和x+=4的区别吗? 有关键盘输入的问题!急! 急问高手:关于字符串的数据类型转换!!! JAVA新手求助 请教一个关于时区的问题 关于实现接口
但是,借助java的四个权限修饰符,将属性定义为private,属性对应的setter方法定义为private(你还可以不写setter方法),getter方法定义为public,就可以轻松实现。
用CLASSA这种表现的,1是不专业 2凌乱
片面理解,呵呵
几乎所有的框架都是通过反射方式寻求每个javabean中各个属性的getter和setter,以访问它们,这已经是通用的模式了,不理解也得接受= =|||,至于为什么,那原因每本书的第一章里面都解释的一样
其实也不一定只用javabean
如果一个系统主外键转多,想程序数据格式有更高的灵活性,你可以用MAP来存取数据。
然而程序可读性和灵活性是不成正比的。使用了MAP数据的活性是大大提高了,而可读性也会比用javabea存储数据的方法有所下降。至于你你选择用不用javabean。只要你的设计在各方面的需求上找到一个很好的平衡点,那你就行了。