java的多态

半腔热情 提交于 2019-12-01 13:32:46

多态?盘

事物在运行过程中存在不同的状态,多态存在三前提

  1、要有继承关系

  2、子类要重写父类的方法

  3、父类引用指向子类

  

  

  

  

  多态成员访问的特定:(编译时多态、运行时多态)

  成员变量

  编译看左边(父类),运行时看左边(父类)

  成员方法

  编译看左边,运行看右边(子类)。动态绑定

  静态方法

  编译看左边(父类),运行时看左边(父类)---静态和类相关,算不上重写,所以访问还是左边的

  只有非静态的成员方法,编译看左边,运行看右边,即多态不能使用子类特定的属性和方法(多态中的向上转型)。编译是报错

  

  怎么办呢?即强转(多态中的向下转型)---转型之后使用的是子类的属性和方法

  

    

  使用多态好处的例子

  

  

  打印结果:

   学生类

   老师类

   好处:同一个方法,传入不同的对象,执行不同对象的相应方法,便于集中管理

   就比如你们老板安排任务,他肯定说猪仔们今晚加班,而不是说张三、李四、王五。。。。加班,对吧小老弟。

  

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!