1、重载:是指一个类中所定义的方法名相同,参数不同。下面定义几个test方法,里面的参数不同,请看下图:
![java基础知识:[5]java三大特性(多态)](https://exp-picture.cdn.bcebos.com/777f3fc2bbd6e1d0895a99d50d254193cfe8af0a.jpg)
2、在main中调用声明的无参,多参方法。通过实例化的类名点方法名(如:TestHello t = new TestHello(); t.Test();)。详情见下图所示:
![java基础知识:[5]java三大特性(多态)](https://exp-picture.cdn.bcebos.com/555acf0ff2260d9adfbc142d622abab84340a50a.jpg)
3、运行结果在控制台console中显示出来。见下图所示:
![java基础知识:[5]java三大特性(多态)](https://exp-picture.cdn.bcebos.com/430174fec314f1c5635c42753c27ac5307889d0a.jpg)
4、重写:是指在子类中声明与父类同名的方法,从而覆盖了父类的方法,称之为子类重写父类方法。下面首先定义两个类具有集成关系,子类与父类。如下图所示
![java基础知识:[5]java三大特性(多态)](https://exp-picture.cdn.bcebos.com/07c98f2ca5cadce86efa0348fcf7980e5e20950a.jpg)
5、在父类中定义getNames(String name),在子类中重新定义getNames(String name,String age) 。详细见下图所示:
![java基础知识:[5]java三大特性(多态)](https://exp-picture.cdn.bcebos.com/5e615d715fdb3620bf89ce3dabc5260f89358d0a.jpg)
6、在测试的main通过实例化的类名点方法名调用子类中的方法(如:child.getNames())。调用方式及运行结果见下图所示:
![java基础知识:[5]java三大特性(多态)](https://exp-picture.cdn.bcebos.com/dccb47de4507880137c3d6f5b18ca608a40f820a.jpg)