多态:对于某个类型的方法调用,实际调用的方法取决于运行时实际类型的方法。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| public void run(Person p){ p.run(); }
Class Person{ void run(){ System.out.println("Person"); } } Class Teacher extends Person{ @override void run(){ System.out.println("Teacher"); } } public static void main(String [] args){ Person p1=new Person(); Person p2=new Teacher(); run(p1); run(p2); }
|
以上代码分别会打印各自的run , 因为两者的实际类型不同,通过声明类型传值