有T级:
public class T
{
protected String name;
public T(String name)
{
this.name = name;
}
public String toString()
{
return "T:"+this.name;
}
}
G类:
public class G extends T
{
public G(String name)
{
super(name);
}
public String toString()
{
return "G:" + super.toString();
}
}
我跑的时候
G a3 = new G("me");
System.out.println((T)a3)
它打印G:T:我.
我不明白为什么.我以为它会打印T:me.我声称这是因为它被转换为对象T.因此,使用类T的toString()但是,我错了.为什么会这样?
我知道类没有好名字,这是一个关于理解多态和继承的问题,而不仅仅是编写我需要的特定代码.