Java11
多态
随着继承的出现,当子类new出了一个新的对象的时候 ,这个对象有子类特有的属性也继承了父类的属性,所以这个对象既是子类的对象有事父类的对象。最终多态体现为父类引用变量可以指向子类对象。多态的前提是必须有子父类关系或者类实现接口关系,否则无法完成多态。在使用多态后的父类引用变量调用方法时,会调用子类重写后的方法。 多态的定义方法与使用:
父类类型 变量名 = new 子类类型();
变量名.方法名();
当我们在使用变量名调取属性的时候
在多态中:
成员变量,编译看父类,如果父类有则编译成功你,没有则编译失败
运行时看父类的值
编译运行都看左边 Fu f=new Zi();
成员方法,编译看父类,如果父类有则编译成功你,没有则编译失败
运行时看子类
编译看左边运行看右边 Fu f=new Zi();
向上转型:多态 父类类型 变量名=new 子类类型();
向下转型: 子类类型 变量名=(子类类型)父类变量;
一般情况下 在调用方法赋值时,或者返回方法值是 我们通常用到多态的额 向上转型,因为我们要保证用户输入的值是一个符合我们方法的值 ,这时候我们在设置参数类型的时候通常采用 父类类型或者object类型,因为这样无论客户输入什么值我们都可以接受,然后我们在使用向下转型,得到我们想要的方式的参数。这就是多态的向上向下转型的具体用处。