Java中的多态
1.多态的表现
编译时类型与运行时类型不一致
例如:School stu=new Student();
等号左边是编译时类型,右边是运行时类型
2.前提:(1)子类继承父类
(2)子类重写父类的方法
(3)父类引用指向子类对象
在以上代码中,b.test();,用父类引用b调用父类中的test()方法,而运行的结果却是子类中的test()方法,这种现象就是多态
3.多态的好处:
例如:
定义USB规范
定义实现类,重写方法
测试类
执行结果:
在以上代码中,父类类型作为方法的参数,将子类对象作为参数传递给方法,用父类类型调用父类方法,结果却调到了子类的方法,体现出多态的可扩展性和便利性,而不用将每一个子类都作为形参来调用方法。