A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangjiesss 中级黑马   /  2016-7-17 00:09  /  488 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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的值呢?
求大神帮忙解答,我是在什么地方理解错了!

1 个回复

倒序浏览
本帖最后由 wanglv110 于 2016-7-17 11:05 编辑

你这个e.Out(testB) 是什么意思,应该和这个有关,如果是testB.n刚没有问题了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马