小白求问getter和setter问题

来源:7-1 什么是 Java 中的封装

慕数据3565510

2017-05-10 19:08

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回答

  • qq__1823
    2017-05-14 17:19:23

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

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

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

  • kkin
    2017-05-10 20:07:35

    没有赋值啊

    kkin

    System.out.println(hello3.setNum1()); 这里不是重复调用了嘛

    2017-05-11 08:23:48

    共 2 条回复 >

Java入门第二季 升级版

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

530557 学习 · 6091 问题

查看课程

相似问题