java中构造方法和set,get

classSp{privateStringbianhao;privateStringmingcheng;privatefloatjiage;Sp(Stringbianha... class Sp
{
private String bianhao;
private String mingcheng;
private float jiage;

Sp(String bianhao,String mingcheng,float jiage)
{
this.mingcheng=mingcheng;
this.bianhao=bianhao;;
this.jiage=jiage;;
}

public String getBianhao() {
return bianhao;
}
public void setBianhao(String bianhao) {
this.bianhao = bianhao;
}
public String getMingcheng() {
return mingcheng;
}
public void setMingcheng(String mingcheng) {
this.mingcheng = mingcheng;
}
public float getJiage() {
return jiage;
}
public void setJiage(float jiage) {
this.jiage = jiage;
}
}
构造方法中已经有了this.a=a这样的方法了,为什么下面还要get和set方法赋值取值,初学者不是很理解,因为一些代码不要set和get也能顺利运行。来大神讲一下
展开
 我来答
305661006
推荐于2017-12-15 · TA获得超过183个赞
知道小有建树答主
回答量:151
采纳率:0%
帮助的人:142万
展开全部
构造方法是声明这个类型变量时给的初期值。类似
Sp sp=new Sp("a","b",0);
这种,sp声明以后属性就已经有值了。但有时候需要改变里边某一个变量的值,这时候就用到set方法了。它将对数据的访问动作和数据本身区分开。而定义为private之后,在其他类中无法直接获得其属性,就要使用get方法。
get和set方法也是javabean的一个规范。
life天天给力
2016-08-01 · 超过25用户采纳过TA的回答
知道答主
回答量:145
采纳率:33%
帮助的人:49.8万
展开全部
如果你实例化对象的时候没有传值就可以通过set方法重新设置你的成语变量。就算你构造函数初始化值了你也可以通过set方法修改。另外这是面向对象的思想,不直接访问成员变量,只对外提供方法来进行访问和设置
追问
构造方法和set,get这2个普通方法没有任何关系吗?
追答
没有任何关系,这里的set很热get体现的的是面向对象的封装思想。比如用户设置价格为负的,你肯定不允许对吧,这样就可以在set方法里面进行限定,。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhang__琦
2016-08-01 · TA获得超过387个赞
知道答主
回答量:222
采纳率:0%
帮助的人:71.9万
展开全部
private String bianhao;
private String mingcheng;
private float jiage;只是你定义私有的属性,getter和setter方法是public的,可以外部访问,所以我们取值用getter,要改变值就用setter。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式