就这么理解吧,面向对象中,想对类的成员变量设置访问一些权限,于是,就将该字段设置为private的,这样别的类就不能访问了,然后在该内定义两个方法,一个专门用于获取,一个用于修改,这样,在你不想让别人乱动该字段的时候,就在该方法内写一些限制条件。
而为了规范起见(团队开发需要嘛),就根据人家老外的习惯,将方法名设置为set+字段名,get+字段名(名字乱改没问题),既然规范了,那就是别人都叫这名了,于是,有些框架给对象赋值就有方法了,方法名称由get或set开始的又有private变量名的,就找出来调用。hibernate1框架就这样弄得,至于后面的版本是不是这样就不大清楚了。
JavaBean就是一个JAVA类,既然是JAVA类就不需要什么组件了,这玩意直接深入到虚拟机了的
写get和set是强制性标准写法 不单单是为了让其他程序员看懂 更重要的是为了让其他程序看懂 因为很多框架的代码取一个对象的属性值的时候 只会调用get和set方法 如果你不按标准的规则写成getXxx这样 这些框架就完全无法识别你的方法了 这样在你的项目种几乎任何框架都不能使用了
一般来讲,get是取值的方法,set是设置值的方法,因为get在英文中有取,拿的意思,而set有设置的意思,所以用get,set能很形象的明白方法的目的,比如对于一个name属性,getName就是取出这个name的名称,而setName就是设置name的名称,当然如果是自己的程序,也可以定义成SheZhiName,QuChuName,这个完全是一种习惯而已。
JavaBean是一种特殊的类,必须具备这样的条件:
1.必须是公共的(public);
2.且具有无参数的构造器;
3.私有的成员变量(private);
4.许用户访问内部的属性和方法(get,set方法)。
JavaBean与安装jar包无关。
cat ca = new cat("黄","小小");
ca.shoutnum = 16;
在定义这个ca时,已经使用了默认的shoutnum = 5对其赋值,所以,后面这个16的赋值不会引起
public void setshoutnum(int shoutnum)被调用。
如果要看效果,可以将这个句子ca.shoutnum = 16;
修改成:
ca.setshoutnum(16);
其他不用改。
1。set和get用于private变量的封装,一般只用在封装里,当然它也可以用2所说的。
2。get和set起源于它的中文翻译,获取和设置。主要是便于理解。比如获取XX值和设置XX值。这样不仅方便自己看,别人也很容易理解的。所以也不仅仅用于封装的。
3。javabean就是一个简单的java类,里面只有变量和setget方面之类的,不需要安装jar包及组件。
有参方法和无参方法要看方法的具体用途 set方法和get方法是为了体现面向对象编程的封装思想 把成员变量设为private 只能通过特定方法修改和访问 保证了程序的安全性