javabean中set和get方法

classBean{inta;publicintgetA(){returna;}publicvoidsetA(inta){this.a=a}}一直很奇怪为什么要用set和... class Bean
{
int a;
public int getA()
{
return a;
}
public void setA(int a)
{
this.a = a
}
}
一直很奇怪为什么要用set和get,直接访问a不就可以了?有些书上说,隐藏了类的内部细节,避免用户修改,可是我还不是照样可以用set方法修改?

请指教,麻烦说的详细一点,谢谢各位了,这个问题让我一直很苦恼啊~
刚才没说清楚,补充一下,我的意思就是说如果像这样一个javabean:
public class Test{
private int add(int a,int b){
return a+b;
}
}
我在jsp页面或者别的类中直接调用add(3,5)不就可以了么?那怎么用set和get实现这种方法的隐藏? 那smile_bug你说什么时候可以用到set和get?我感觉好像我做了很多项目了,都没用到过阿....
展开
 我来答
千羽千寻online
2015-08-01 · TA获得超过645个赞
知道小有建树答主
回答量:735
采纳率:37%
帮助的人:187万
展开全部
在javabean里面,set()方法用于写入,get()方法用于输出,两者都是需要你自己去写的,名字可以不是这样,只要功能是就可以了。两个存在的意义是为了变量的私有化,防止外部的人对变量等进行修改导致错误与不安全。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tiger361577309
2009-01-21
知道答主
回答量:9
采纳率:0%
帮助的人:6.7万
展开全部
对于一个实例。如果只是简单给一个属性取值,设定值。可以不用get.set.用等号就可以了。
之所以要get,set方法;是因为我们取值或设定值的时候。要做额外的操作。
public class Count(){
public int total;
private int i;
private int ii;
private int iii;
public void setI(int i){
this.i=i;
total+=i;
}
}
对于一个普通的javaBean只是简单的赋值读值。还要用set.get只能是因为规范了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mars_lq
2009-01-21 · TA获得超过222个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:152万
展开全部
一个是修改器,一个是访问器,我这么说你就应该能明白一些了吧。一个类会被包装的,由于是密封的,隐藏了其内部实现过程,程序员不可以直接操纵其中的域,这时就要用get和set,

另外,这个时javaBean的规范,必须遵守,在SUN的官网有具体规范。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
六号船票
2009-01-21 · TA获得超过148个赞
知道答主
回答量:111
采纳率:0%
帮助的人:81.6万
展开全部
这个是public private protected访问权限的问题了,你的javabean肯定是要公布出来给其他类访问的了,如果不用get和set方法,其他类是不能访问的哦!
而且建议你最好把变量设置成private的类型,正如你说的“隐藏了类的内部细节,避免用户修改”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仉骞北04e
2009-01-21 · 超过12用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:0
展开全部
总体思想就是一个面向对象的观点来做事情,你要什么,就给我讲,我到屋里给你拿出来,但是你却不可以直接进屋去拿,万一你不熟悉我家里的情况,把我家搞乱了咋个办啊。

这个比喻很形象.顶
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式