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();
 }
}

Java-对象多态性_向上转型