黑马程序员技术交流社区

标题: 大家帮我看看这个代码输出的结果为什么是这样?? [打印本页]

作者: li6232876    时间: 2016-3-22 15:30
标题: 大家帮我看看这个代码输出的结果为什么是这样??
本帖最后由 li6232876 于 2016-3-24 10:28 编辑

class Demo_Father {
        public static void main(String[] args) {
                Son s = new Son (4);
                System.out.println(s.getX());
        }
}
class Father {
        private int x ;            //定义私有x      
        public Father(int x) {
                this.x = x;
                System.out.println("父类的有参构造,x="+x);
        }
        public void setX(int x) {   //设置x
                this.x = x;
        }
        public int getX() {         //获取x
                return x;
        }
}
class Son extends Father {
        private int x ;
        public Son(int x) {
                super(x);
                System.out.println("子类的有参构造,x="+x);
        }
}
结果:
父类的有参构造,x=4
子类的有参构造,x=4
4           
(???最后这个4是怎么输出的???)


作者: CangYe    时间: 2016-3-22 20:02
很正常啊
作者: ZTK12345    时间: 2016-3-22 22:46
你想问什么,你期待的答案是啥
作者: li6232876    时间: 2016-3-24 10:28
CangYe 发表于 2016-3-22 20:02
很正常啊

结果:
父类的有参构造,x=4
子类的有参构造,x=4
4  
         
(???最后这个4是怎么输出的???)
作者: little_bear123    时间: 2016-3-24 10:41
在子类里边定义输出的
作者: 霸道总裁爱村花    时间: 2016-3-24 11:11
class Demo_Father {
        public static void main(String[] args) {
                Son s = new Son (4);
                System.out.println(s.getX());//兄台,这一句输出的啊
        }
}
好好观察多加练习吧
作者: 卢磊磊    时间: 2016-3-24 11:22
这是你主函数中System.out.println(s.getX());这句代码输出的结果。这里的创建son的对象,调用get方法,但是子类中没有,找父类,父类的get方法return一个x给输出来了




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