输出两个变量和失败

kuafu888 2015-01-31 09:07:21
初学Java 望大神指点


class Leiwai{
private int a;
private int b;
private int c=geta()+getb();
public int geta(){
return a;
}
public int getb(){
return b;
}
public int getc(){
return c;
}

public void seta(int x){
this.a=x;

}
public void setb(int y){
this.b=y;
}


public void shuchu(){
System.out.println(getc());
}
}
public class neiwai {
public static void main(String args[]){
Leiwai duixiang=new Leiwai();
duixiang.seta(111);
duixiang.setb(222);
duixiang.shuchu();

}

}

...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
邹邹wl 2015-02-01
  • 打赏
  • 举报
回复
楼上正解:
 public int getc(){
        return a+b;
    }
WinSpread 2015-01-31
  • 打赏
  • 举报
回复
支持 2、3L
姜小白- 2015-01-31
  • 打赏
  • 举报
回复
楼主的代码中,初始化对象时,就已经给c 属性赋值了,此时a 和 b 均为0 ,所以执行结果一直为0

private int a;
    private int b;
    
    public int geta(){
        return a;
    }
    public int getb(){
        return b;
    }
    public int getc(){
        return geta()+ getb();
    }
去掉c 这个属性,直接在getc 中返回geta()+ getb()就可以了
rumlee 2015-01-31
  • 打赏
  • 举报
回复
你的加运算是在你对a和b赋值之前就已经执行过了,所以得不到你想要的值。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧