黑马程序员技术交流社区

标题: 构造函数初始化出问题了,看不出来啊?? [打印本页]

作者: 茄子    时间: 2014-6-2 11:08
标题: 构造函数初始化出问题了,看不出来啊??
本帖最后由 茄子 于 2014-6-2 12:13 编辑

实在是看不出哪里出问题了(这真的不是灌水啊)

class DemoA
{
        int num=10;
        DemoA(int unm)
        {
                this.num=num;
        }
        /*public String toString()   //注意返回类型,覆盖方法之后,返回类型是不会发生改变的
        {
                return "DemoA" +this.num;
        }
        */
}


public class ToStringTset {

        public static void main(String[] args) {
                DemoA a=new DemoA(45);
        //        System.out.println(a.toString());
                System.out.println(a.num);

        }

}



运行结果居然是:10


求解是啊,哪里出问题了呢……眼拙




在线等啊

作者: 200米王朝    时间: 2014-6-2 11:16
   DemoA(int unm)

目测错别字吧  num 不是 unm



class DemoA
{
        int num=10;
        DemoA(int num)
        {
                this.num=num;
        }
        /*public String toString()   //注意返回类型,覆盖方法之后,返回类型是不会发生改变的
        {
                return "DemoA" +this.num;
        }
        */
}


public class Test {

        public static void main(String[] args) {
                DemoA a=new DemoA(45);
        //        System.out.println(a.toString());
                System.out.println(a.num);

        }

}

结果是45
作者: 黎志勇    时间: 2014-6-2 11:23
很明显是打字的时候打错顺序了
  1.         int num=10;
  2.         DemoA(int unm) // 参数这里是unm
  3.         {
  4.                 this.num=num; //这里则是num,结果自己赋值给自己,所以是10
  5.         }
复制代码

作者: 茄子    时间: 2014-6-2 12:10
200米王朝 发表于 2014-6-2 11:16
DemoA(int unm)

目测错别字吧  num 不是 unm

谢谢,这种错误我真的看不出来!!!!
作者: 茄子    时间: 2014-6-2 12:12
200米王朝 发表于 2014-6-2 11:16
DemoA(int unm)

目测错别字吧  num 不是 unm

谢谢,这种错误我真的看不出来!!!!着急了
作者: 淡淡柠檬茶    时间: 2014-6-2 12:13
兄弟,慢慢来吧,有的时候哪怕我们照样打出来调试也会出现问题的,耐心点就好了,自己看看提示
作者: 茄子    时间: 2014-6-2 12:14
黎志勇 发表于 2014-6-2 11:23
很明显是打字的时候打错顺序了

谢谢,我知道错了!!
作者: 王亚亚    时间: 2014-6-3 09:38
首先你unm写错之后,你把45 传进去,穿给了unm,但是没有做任何操作,由于构造方法中没有局部变量num,所以num就只全局变量的num,就是把num赋值给了num,所以就只是10。调用的时候,直接调用的是10。因此没有改变。
作者: 茄子    时间: 2014-6-3 10:52
王亚亚 发表于 2014-6-3 09:38
首先你unm写错之后,你把45 传进去,穿给了unm,但是没有做任何操作,由于构造方法中没有局部变量num,所以 ...

嗯嗯,这错误确实犯的有点低级,但是,说真的,当时真的没有看出来,我都检查了好几遍了!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2