黑马程序员技术交流社区

标题: 继承 [打印本页]

作者: zhangjiesss    时间: 2016-7-17 00:09
标题: 继承
public class TestA
{
        int n=0;
        int m=0;
}
public class TestB extends TestA
{
        int n=0;
}
public class E
{
        TestA testA;       
        public void Out(TestA testA)
        {
                System.out.println("n:"+testA.n);
                System.out.println("m:"+testA.m);
        }

}
public class TestE extends E
{
        public static void main(String[] args)
        {
                TestE e= new TestE();
                TestB testB =new TestB();
                testB.m =128;
                testB.n =128;
                e.Out(testB);
        }
}
输出结果
n:0
m:128

经调试这个n值的输出是TestA的值,为什么不是TestB的值呢?
求大神帮忙解答,我是在什么地方理解错了!


作者: wanglv110    时间: 2016-7-17 11:03
本帖最后由 wanglv110 于 2016-7-17 11:05 编辑

你这个e.Out(testB) 是什么意思,应该和这个有关,如果是testB.n刚没有问题了





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