输出结果判断

修改

  parent.myValue++;

System.out.println(parent.myValue);

parent.printValue();

((Child)parent).myValue++;

System.out.println(child.myValue);

parent.printValue();

输出结果为

101  

201

所以可以看出parent.myValue++;是对parent的myValue进行加1  而前边已经将子类赋值给父类,所以执行输出的时候输出的是child的myValue的值。

所以第四部分结果应该是200

最后一部分将parent转化为child类型之后对myValue 的值修改是改的Child的myValue的值,最后输出的同样是child的值,所以结果为201

原文地址:https://www.cnblogs.com/yyl141/p/11749168.html