class Base{ int x=10; int method(){ return x; } } class Sub extends Base{ int x=20; int method(){ return x; }
}
pubulic static void main(String args[]){ Base b=new Sub(); System.out.println(b.x); System.out.println(b.method());
} ½á¹ûΪʲôÊÇ 10£¬20Base b=new Sub(); Base bÕâ¸öÊǶ¨Òå¶ÔÏóÊÇʲôÀàÐ굀 ÕâÀïbÊǸ¸Ç×µÄÀàÐÍ¡£b.x£¬¾ÍÊǸ¸Ç×µÄÊôÐÔ¡£ b.method()ÊǸ¸Ç׵ķ½·¨£¬µ«ÊÇÄãÖØÐ´ÁË£¬¾ÍÊÇÄãµÄÁË¡£ ÊôÐÔµÄֵȡ¸¸À໹ÊÇ×ÓÀಢ²»È¡¾öÓÚÎÒÃÇ´´½¨¶ÔÏóµÄÀàÐÍ£¬¶øÊÇÈ¡¾öÓÚÎÒÃǶ¨ÒåµÄ±äÁ¿µÄÀàÐÍ¡£
Base b ÊǶ¨Òå¶ÔÏóÊÇBaseÐ͵ģ¬b=new Sub()ÊÇÔÚÄÚ´æÖд´½¨Ò»¸öSubÐ͵ĶÔÏ󣬲¢°ÑÒýÓø³¸øb£¬µ«bµÄÀàÐÍ»¹ÊÇBase ÊôÐÔ²»»á¸²¸Ç£¬Êµ¼ÊÉÏÏÖÔÚbÖÐÓÐÁ½¸öx±äÁ¿¡£ µ«ÊÇÒòΪÄãÉùÃ÷bµÄÀàÐÍÊÇBase£¬ËùÒÔÕâ¸ö±äÁ¿ÊÇBaseµÄxµÄÖµ¡£ Èç¹ûÄ㽫SubµÄmethod·½·¨×öÈçÏÂÐ޸ģº Java code: int method() { return super.x; }