本帖最后由 Lin0411 于 2014-5-2 20:07 编辑
在学习毕老师关于多态问题的时候产生了一些疑问,例如下代码:
class A
{
public void show()
{
System.out.println("A");
}
}
class B extends A
{
public void show()
{
System.out.println("B");
}
}
public class Test
{
public static void main(String[] args)
{
A a1 = new B();
a1.show();
A a2 = (A)(new B());
a2.show();
}
}
为什么输出的是两个B,a2已经强制转换成了A类型,应该输出A才对呀,求大神指点。 |