flash-boy

导航

 
  • 不转型的话,不能使用子类特有的属性和行为

  

class Demo_SuperMan {
    public static void main(String[]args){
        Person p=new SuperMan();//父类引用指向子类对象。超人提升为了人
                                //父类引用指向子类对象,就是向上转型
        System.out.println(p.name);
        p.Tsy();
        //p.Fly();//找不到该方法
        SuperMan sm=(SuperMan)p;//向下转型,看到整个对象的内容
        sm.Fly();
    }
}
 
class Person{
    String name="John";
    public void Tsy(){
        System.out.println("Tsy");
    }
}
 
class SuperMan extends Person{
    String name="SuperName";
    @Override
    public void Tsy(){
        System.out.println("子类Tsy");
    }
 
    public void Fly(){
        System.out.println("飞出去救人");
    }
}

 

posted on 2022-08-29 19:50  flash-boy  阅读(55)  评论(0)    收藏  举报