Java教程

java笔记寒假10-多态

本文主要是介绍java笔记寒假10-多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

第九天、多态

一、

  同一方法可以根据发送对象的不同而采取多种不同的行为方式

  一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多

  多态存在的条件:有继承关系

          子类重写父类方法

          父类引用指向子类对象

  多态是方法的多态,属性没有多态性

  可以实现动态编译,程序类型的最终状态只有在执行过程中才可以确定,多态可以让可拓展性变得更强

 

 

 

 

  子类重写了父类的方法后,会调用子类的方法

 

 

  但是它不能直接调用子类中的方法

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

  子类能调用的方法都是自己的或者继承父类的

  父类可以指向子类,比如上面的Person s2 = new Student;但是不能调用子类独有的方法

  但是可以强制类型转换,比如((Student) s2).eat();这样就可以调用子类中的eat方法

  不能重写的方法:static 方法,属于类,不属于实例

          final 常量

          private方法

二、instanceof和类型转换

 System.out.println(x instanceof y)//编译是否通过要看x和y是否有父子关系

  类型之间的转换

  父是高的,子是低的,父转子需要强转

  比如上面,Person s1 = new Student();

  这时候s1是不能直接调用子类Student里面的方法的,需要强制类型转换

  ((Student)s1).子类中的方法就可以了;

  子类转换为父类,可能丢失自己的本来的一些方法;

 

这篇关于java笔记寒假10-多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!