abstract class A { abstract void al(); void a2() { } } class B extends A { void al() { } void a2() { } } class C extends B { void c1() { } } ///////////// A x = new B(); C y = new C(); A z = new C(); ////ÏÂÃæÄÄËĸöµ÷ÓÃÊÇÕýÈ·µÄ£¬ÄܸøÎÒ½²½²ÎªÊ²Ã´£¬ÎÒ±»JavaµÄ¶à̬¸ã»ìÁË¡£ x.a2(); z.a2(); z.c1(); z.a1(); y.c1(); x.a1();
лл~£¡ x.a2(); z.a2(); y.c1(); ÒÔСµÜÀ´¿´Ö»ÓÐ3¸öÕýÈ· A x = new B(); C y = new C(); A z = new C(); X Y Z Õâ3¸öʵÀý·Ö±ðÊǰÑ×Ô¼ºÊµÀý»¯³É Á½¸ö¸¸¶ÔÏó ËùÒÔ Ö»Äܵ÷Óà A¶ÔÏó ºÍC¸¸¶ÔÏóµÄ·½·¨ÆäËûµÄ¶¼ÊÇ´íÎóµÄ£¡ ¿¼²éµÄÊÇ·ÃÎÊȨÏÞ ¶¼ÊÇĬÈÏ·ÃÎÊȨÏÞ£¬Ö»ÓÐÔÚͬһ¸ö°üÖУ¬ÏÂÃæ²Å»áÈ«²¿³ÉÁ¢¡£ x.a2(); z.a2(); z.c1(); z.a1(); y.c1(); x.a1();