java类中为什么要用get和set?
1个回答
展开全部
面向对象中,想对类的成员变量设置访问一些权限,于是,就将该字段设置为private的,这样别的类就不能访问了,然后在该内定义两个方法,一个专门用于获取,一个用于修改,这样,在你不想让别人乱动该字段的时候,就在该方法内写一些限制条件。
而为了规范起见(团队开发需要嘛),就根据人家老外的习惯,将方法名设置为set+字段名,get+字段名(名字乱改没问题),既然规范了,那就是别人都叫这名了,于是,有些框架给对象赋值就有方法了,方法名称由get或set开始的又有private变量名的,就找出来调用。hibernate1框架就这样。
//一个简单的例子 get的时候我需要做逻辑处理,满足怎么处理不满足又怎么处理等等..都有可能。set也可以有类似的逻辑处理,比如赋值的时候如果为null 那么我就给默认值 A 等等
public String getGoodsTypeModels(boolean is) {
//我这里直接写在了方法中了,变量也可以写成 全局的 当然也可给变量设置访问权限,因为方法在同一个类中 所以可以访问方法中的所有变量。
String str1 = "AA";
String str2 = "BB";
if(is){
return str1;
}else{
return str2;
}
}
而为了规范起见(团队开发需要嘛),就根据人家老外的习惯,将方法名设置为set+字段名,get+字段名(名字乱改没问题),既然规范了,那就是别人都叫这名了,于是,有些框架给对象赋值就有方法了,方法名称由get或set开始的又有private变量名的,就找出来调用。hibernate1框架就这样。
//一个简单的例子 get的时候我需要做逻辑处理,满足怎么处理不满足又怎么处理等等..都有可能。set也可以有类似的逻辑处理,比如赋值的时候如果为null 那么我就给默认值 A 等等
public String getGoodsTypeModels(boolean is) {
//我这里直接写在了方法中了,变量也可以写成 全局的 当然也可给变量设置访问权限,因为方法在同一个类中 所以可以访问方法中的所有变量。
String str1 = "AA";
String str2 = "BB";
if(is){
return str1;
}else{
return str2;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询