多态
package Lesson01; public class Demo001 { public static void main(String[] args) { /* * 超人案例(深入理解多态-隐藏-低调-伪装) * * 超人去美国找某某集团的老总谈生意 超人在别人面前,如果不说自己是超人,在别人面前表现的就是普通人 老总以为是谈小生意的,但实际是谈大生意 * 老总以为他不会飞,实际上他会飞去救人 */ // 父类指向子类对象(多态) Person p = new SupperMan(); p.fly(); SupperMan sm = new SupperMan(); sm.fly(); SpiderMan sp1 = new SpiderMan(); sp1.fly(); // Person p1 = new Person(); // SupperMan sm2 = (SupperMan) p1; // sm2.fly(); test1(sm); test2(sp1); test(sm); test(sp1); } public static void test(Person per) { per.fly(); } public static void test1(SupperMan sm) { sm.fly(); } public static void test2(SpiderMan sm) { sm.fly(); } } // 普通人 class Person { public void walk() { System.out.println("走...."); } public void fly() { System.out.println("我是普通人,不会飞..."); } } // 超人 class SupperMan extends Person { public void fly() { System.out.println("超人飞去救人..."); } } // 蜘蛛 class SpiderMan extends Person{ public void fly(){ System.out.println("蜘蛛侠爬去救人..."); } }