多态

多态

存在条件:

有继承关系

子类重写父类方法

父类引用指向子类对象


   //对象能执行哪些方法,主要看对象左边的类型Student,Person,和右边关系不大

   Student s1=new Student();
   //父类型Person 可以指向子类,不能调用子类的方法
   //可以指向的引用类型不确定:父类的引用指向子类
   Person s2=new Student();
   Object s3=new Student();

   s2.run();//子类重写了父类的方法,执行子类的方法
   s1.run();
      //转换类型:父类转换为子类
     //子类转换为父类,可能丢失自己本来的一些方法
      Person obj=new Student();

     //student将这个对象转换为Student类型,我们就可以使用Student类型的方法了
     // Student类中有go方法
      ((Student) obj).go();

 

以下方法不可重写:

1.static 方法,属于类,它不属于实例

2.final 常量

3.private 方法

instanceof

        System.out.println(x instanceof y);//能不能通过编译看x与y是否存在父子关系 
 
posted @ 2022-07-21 14:28  Foolmen  阅读(16)  评论(0)    收藏  举报