Java11

多态

随着继承的出现,当子类new出了一个新的对象的时候 ,这个对象有子类特有的属性也继承了父类的属性,所以这个对象既是子类的对象有事父类的对象。最终多态体现为父类引用变量可以指向子类对象。多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。  多态的定义方法与使用:

父类类型  变量名 = new 子类类型();

变量名.方法名();

当我们在使用变量名调取属性的时候

 在多态中:

 成员变量,编译看父类,如果父类有则编译成功你,没有则编译失败

 运行时看父类的值

 编译运行都看左边 Fu f=new Zi();

 

 成员方法,编译看父类,如果父类有则编译成功你,没有则编译失败     

运行时看子类

编译看左边运行看右边 Fu f=new Zi();

 

向上转型:多态 父类类型 变量名=new 子类类型();

向下转型: 子类类型 变量名=(子类类型)父类变量;

一般情况下 在调用方法赋值时,或者返回方法值是 我们通常用到多态的额 向上转型,因为我们要保证用户输入的值是一个符合我们方法的值 ,这时候我们在设置参数类型的时候通常采用 父类类型或者object类型,因为这样无论客户输入什么值我们都可以接受,然后我们在使用向下转型,得到我们想要的方式的参数。这就是多态的向上向下转型的具体用处。

 

posted @ 2019-08-03 11:19  阿旭zzz  阅读(173)  评论(0编辑  收藏  举报