用了前面一位朋友的代码实现继承的down cast,具体如下:public class Test {
public static void main(String args[]){
Chinese hunan=new Hunanren();
Object o =new Hunanren();
(Hunanren)o.print3();
hunan.print1() ;
}
}class Hunanren extends Chinese{
public static void print3(){
System.out.println("this is 湖南人 ");
}
}class Chinese{
public static void print1(){
System.out.println("this is 中国人");
}
}但是编译时老是(Hunanren)o.print3();这句话出错.请高手指正!
public static void main(String args[]){
Chinese hunan=new Hunanren();
Object o =new Hunanren();
(Hunanren)o.print3();
hunan.print1() ;
}
}class Hunanren extends Chinese{
public static void print3(){
System.out.println("this is 湖南人 ");
}
}class Chinese{
public static void print1(){
System.out.println("this is 中国人");
}
}但是编译时老是(Hunanren)o.print3();这句话出错.请高手指正!
Object虽然是他的父类,但是没有print3方法的声明,所以就错了
-->
((Hunanren)o).print3();加括号