class A
{ public void fun1() { System.out.println("<----A------>"); } public void fun2() { System.out.println("<----B------>"); } } class B extends A { public void fun1() { System.out.println("<----C------>"); //方法的覆写 } public void fun3() { System.out.println("<----D------>"); } } class C extends A { public void fun1() { System.out.println("<----E------>"); //方法的覆写 } public void fun4() { System.out.println("<----F------>"); } } public class test39 { public static void main(String args[]) { fun(new A()); //传递A类型,向上转型 fun(new B()); //传递B类型,向上转型 fun(new C()); //传递C类型,向上转型 } public static void fun(A a) { a.fun1(); } }