用javabean的setxxx()之后得不到值是怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/06/06 19:33:09
这是我题目
public class pagebean{
private int id;

public void setId(int id){
this.id=id;
}
public int getId(){
return this.id;
}

public void ssss(){
pagebean bean=new pagebean()
int sid=bean.getId();
System.out.print(sid);
}

public static void main(String c[]){
pagebean c=new pagebean();
c.setId(3);
System.out.print(c.getId());
}

}

这样的一个简单javabean,但是我执行的是结果是在主函数里得到是3
可是到sss()方法里得到的确实0,为什么

希望给一个详细一点的回复,非常感谢
主函数里加一句
c.ssss()

我没看你在主程序里调用ssss()方法啊,下面给你解释一下吧

问题出在bean.getId() 因为此时的bean是你新初始化的一个bean,里面的id肯定是0(不初始化的int默认为0)现在明白了么

只能初始化后先set 再get 不set是没有值的

另外再啰嗦一句,你在main方法里的c与ssss方法里面的bean不是一个东西,是对同一个类的两个初始化之后的类,这样说明白了么

肯定是0了~!
public void ssss(){
pagebean bean=new pagebean()
int sid=bean.getId();
System.out.print(sid);
}
-----
这段代码中,有个新建的对象bean
ssss()方法中的sid是通过这个对象得到的
对于这个对象而言,你没有调用setId(),而只调用了getId(),所以得到的值一定是零。

public void ssss(){
pagebean bean=new pagebean(); //把这行代码去掉就OK了
int sid=bean.getId();
System.out.print(sid);
}

类名最好大写,好的编码习惯要注意养成