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也能顺利运行。来大神讲一下 展开
{
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也能顺利运行。来大神讲一下 展开
3个回答
展开全部
如果你实例化对象的时候没有传值就可以通过set方法重新设置你的成语变量。就算你构造函数初始化值了你也可以通过set方法修改。另外这是面向对象的思想,不直接访问成员变量,只对外提供方法来进行访问和设置
追问
构造方法和set,get这2个普通方法没有任何关系吗?
追答
没有任何关系,这里的set很热get体现的的是面向对象的封装思想。比如用户设置价格为负的,你肯定不允许对吧,这样就可以在set方法里面进行限定,。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private String bianhao;
private String mingcheng;
private float jiage;只是你定义私有的属性,getter和setter方法是public的,可以外部访问,所以我们取值用getter,要改变值就用setter。
private String mingcheng;
private float jiage;只是你定义私有的属性,getter和setter方法是public的,可以外部访问,所以我们取值用getter,要改变值就用setter。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询