caoguanghui
发贴: 14
积分: 0
|
于 2006-03-18 21:39
程序如下: class SuperClass{ private int x=100; public int getX() { return x; } } class Subbie extends SuperClass{ private int y=200; public int getY(){ return y; } } public class ObjectConvert{ public static void main(String[] arg){ SuperClass superA = new SuperClass(),superB; Subbie subA=new Subbie(),subB; (new ObjectConvert()).useSubAsSuper(subA); superB=subA; System.out.println("superB.getX: "+superB.getX()); subB=(Subbie)superB; System.out.println(subB.getX+" "+subB.getY()); //编译的时候显示这行出错 提示为 cannot resolve symbol. } public void useSubAsSuper(SuperClass x){ System.out.println(x.getX()+"!!!!!!"); } } 难道是 subB=(Subbie)superB; 一行出错?但是书上讲可以将指向子类对象地址的父类对象强制转换成子类对象的啊!
|