为了账号安全,请及时绑定邮箱和手机立即绑定

小白求问getter和setter问题

package com.imooc;

public class Demo1 {

   private int num1;

public int getNum1(){

return num1;

}

public void setNum1(int newNum1){

num1=newNum1;

}

以上是对的程序,通过下面程序调用

package com.imooc;

public class Demo2 {

 


public static void main(String[] args) {

Demo1 hello3=new Demo1();

hello3.setNum1(55);

System.out.println(hello3.getNum1());

}    

}

再看下面

public int setNum1(int newNum1){

num1=newNum1;

return num1;

}

这种写法没提示出错,但是调用不了是为什么,下面是上面的调用程序

package com.imooc;

public class Demo2 {

 


public static void main(String[] args) {

Demo1 hello3=new Demo1();

hello3.setNum1(55);

System.out.println(hello3.setNum1());

}    

}在System.out.println(hello3.setNum1());的setNum1()下面出错了,是怎么回事


正在回答

2 回答

hello3.setNum1(55);这个方法是有返回值的,因此你必须将它附给一个新值,

比如 int a =hello3.setNum1(55);   System.out.println(a); 这样修改是正确的;

或者直接System.out.println(hello3.setNum1(55));不需要前面的那句赋值的语句

1 回复 有任何疑惑可以回复我~

没有赋值啊

0 回复 有任何疑惑可以回复我~
#1

慕数据3565510 提问者

不是在hello3.setNum1(55);里赋值55了吗
2017-05-10 回复 有任何疑惑可以回复我~
#2

kkin

System.out.println(hello3.setNum1()); 这里不是重复调用了嘛
2017-05-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530629    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

小白求问getter和setter问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信