Àà ÊÇJavaÓï ÑÔ Ãæ Ïò ¶Ô Ïó ±à ³Ì µÄ »ù ±¾ Ôª ËØ£¬ Ëü ¶¨ Òå ÁË Ò» ¸ö ¶Ô Ïó µÄ ½á ¹¹ ºÍ ÐРΪ¡£ ÔÚJava³Ì Ðò À Äã Òª ±í ´ï µÄ ¸Å Äî ·â ×° ÔÚ Ä³ ¸ö Àà Àï¡£ Ò» ¸ö Àà ¶¨ Òå ÁË Ò» ¸ö ¶Ô Ïó µÄ ½á ¹¹ ºÍ Ëü µÄ ¹¦ ÄÜ ½Ó ¿Ú£¬ ¹¦ ÄÜ ½Ó ¿Ú ³Æ Ϊ ³É Ô± º¯ Êý¡£ µ±Java³Ì Ðò ÔË ÐРʱ£¬ ϵ ͳ Óà Àà µÄ ¶¨ Òå ´´ ½¨ Àà µÄ Êµ Àý£¬ Àà µÄ Êµ Àý ÊÇ Õæ Õý µÄ ¶Ô Ïó¡£ Àà ¶¨ Òå µÄ Ò» °ã ÐΠʽ Èç Ï£º
class classname extends superclassname { type instance-variable1; type instance-variable2; ................................. type instance-variableN; type methodname1(parameter-list) { method-body; } type methodname2(parameter-list) { method-body; } .................................................... type methodnameN(parameter-list) { method-body; } }
Õâ ÀclassnameºÍsuperclassnameÊÇ ºÏ ·¨ µÄ ±ê ʶ ·û¡£ ¹Ø ¼ü ´ÊextendsÓà À´ ±í Ã÷classnameÊÇ superclassnameÅÉ Éú µÄ ×Ó Àà¡£ ÓÐ Ò» ¸ö Àà ½Ð ×öObject£¬ Ëü ÊÇ Ëù ÓÐJavaÀà µÄ ¸ù¡£ Èç ¹û Äã Ïë ¶¨ ÒåObject µÄ Ö± ½Ó ×Ó À࣬ Äã ¿É ÒÔ Ê¡ ÂÔextends×Ó ¾ä£¬ ±à Òë Æ÷ »á ×Ô ¶¯ °ü º¬ Ëü¡£ ÏÂ Ãæ ÊÇ Ò» ¸ö ¼ò µ¥ µÄ Àà µÄ ¶¨ Òå¡£
class University { }
Àà Ãû ¿É ÒÔ ×÷ Ϊ ±ä Á¿ µÄ Àà ÐÍ À´ ʹ Ó㬠Èç ¹û Ò» ¸ö ±ä Á¿ µÄ Àà ÐÍ ÊÇ Ä³ ¸ö À࣬ ÄÇ Ã´ Ëü ½« Ö¸ Ïò Õâ ¸ö Àà µÄ Êµ Àý£¬ ³Æ Ϊ ¶Ô Ïó ʵ Àý¡£ Ëù ÓÐ ¶Ô Ïó ʵ Àý ºÍ Ëü ÃÇ µÄ Àà ÐÍ£¨Ä³ ¸ö Àࣩ µÄ ×Ó Àà µÄ Êµ Àý ¶¼ ÊÇ Ïà ÈÝ µÄ¡£ ¾Í Ïó ¿É ÒÔ °ÑbyteÐÍ µÄ Öµ ¸³ ¸øintÐÍ µÄ ±ä Á¿ Ò» Ñù£¬ Äã ¿É ÒÔ °ÑObjectµÄ ×Ó Àà µÄ ÈÎ ºÎ ʵ Àý ¸³ ¸ø Ò» ¸öObjectÐÍ µÄ ±ä Á¿¡£ Ò» ¸ö ʵ Àý ÊÇ Àà Ä£ °å µÄ µ¥ ¶À µÄ ¿½ ±´£¬ ´ø ÓÐ ×Ô ¼º µÄ ³Æ Ϊ ʵ Àý ±ä Á¿ µÄ Êý ¾Ý ¼¯¡£ ÿ ¸ö ʵ Àý Ò² ¿É ÒÔ ×÷ Ϊ Ò» ¸ö ¶Ô Ïó¡£ µ± Äã ¶¨ Òå Ò» ¸ö ±ä Á¿ µÄ Àà ÐÍ ÊÇ Ä³ ¸ö Àà ʱ£¬ Ëü µÄ ȱ Ê¡ Öµ ÊÇnull£¬nullÊÇObjectµÄ Ò» ¸ö ʵ Àý¡£ ¶Ô Ïónullû ÓÐ Öµ£¬ Ëü ºÍ Õû Êý0²» ͬ¡£ ÏÂ Ãæ Õâ ¸ö Àý ×Ó ÖУ¬ Éù Ã÷ ±ä Á¿uµÄ Àà ÐÍ ÊÇ ÀàUniversity¡£
University u;
Õâ À ±ä Á¿uµÄ Öµ ÊÇnull¡£
Javaͨ ¹ý ÔÚ Àà ¶¨ Òå µÄ ´ó À¨ ºÅ Àï Éù Ã÷ ±ä Á¿ À´ °Ñ Êý ¾Ý ·â ×° ÔÚ Ò» ¸ö Àà Àï¡£ Õâ Àï µÄ ±ä Á¿ ³Æ Ϊ ʵ Àý ±ä Á¿¡£ ÏÂ Ãæ µÄ Àý ×Ó ¶¨ Òå ÁË Ò» ¸ö ½Ð ×öUniversityµÄ À࣬ Ëü ÓÐ Á½ ¸ö ʵ Àý ±ä Á¿£ºnameºÍcity¡£
class University{ String name, city; }
²Ù ×÷ ·ûnewÓà À´ Éú ³É Ò» ¸ö Àà µÄ Êµ Àý£¬ ÏÂ Ãæ Õâ ¸ö Àý ×Ó Éú ³É ÁË ÀàUniversityµÄ Ò» ¸ö ʵ Àý£¬ ´æ ·Å ÔÚ ±ä Á¿uÖС£
University u = new University( );
ÔÚ ´Ë Àý ÖУ¬ ±ä Á¿uÖ¸ Ïò Õâ ¸ö ¶Ô Ïó£¬ µ« ²¢ ²» Õæ Õý °ü º¬ Õâ ¸ö ¶Ô Ïó¡£ Äã ¿É ÒÔ Óà ¶à ¸ö ±ä Á¿ Ö¸ Ïò ͬ Ò» ¸ö ¶Ô Ïó¡£ ÏÂ Ãæ µÄ Àý ×Ó ÖУ¬ ´´ ½¨ ÁË Ò» ¸öUniversityµÄ ¶Ô Ïó£¬ µ« ´´ ½¨ ÁË Á½ ¸ö Ö¸ Ïò Ëü µÄ ±ä Á¿¡£
University u = new University(); University u2 = u;
¶Ôu2Ëù Ö¸ Ïò µÄ ¶Ô Ïó µÄ ÈÎ ºÎ ¸Ä ¶¯ ¶¼ »á ¶ÔuËù Ö¸ Ïò µÄ ¶Ô Ïó Æð ×÷ Ó㬠Òò Ϊ Ëü ÃÇ ÊÇ Í¬ Ò» ¸ö ¶Ô Ïó¡£ ¶ÔuºÍu2µÄ ¸³ Öµ Ö» ÊÇ °Ñ Ëü ÃÇ Ö¸ Ïò Õâ ¸ö ¶Ô Ïó£¬ ¼È û ÓÐ ·Ö Åä ÄÚ ´æ£¬ Ò² û ÓÐ ¸´ ÖÆ Õâ ¸ö ¶Ô Ïó µÄ ÈÎ ºÎ ²¿ ·Ö¡£ ¶ÔuµÄ ÔÙ ¸³ Öµ Ö» ÊÇ ¼ò µ¥ µØ È¥ µô ÁËuºÍ Ô À´ ¶Ô Ïó µÄ Áª ϵ£¬ ²¢ ²» Ó° Ïì ¶Ô Ïó ±¾ Éí£¬ ÏÂ Ãæ µÄ Àý ×Ó Ëµ Ã÷ ÁË Õâ ÖÖ Çé ¿ö¡£
University u = new University( ); University u2 = u; u = null;
¾¡¹Üu±» ¸³ Öµ Ϊnull£¬u2ÈÔ Ö¸ Ïò Ô À´ ÓÉ ²Ù ×÷ ·ûnew´´ ½¨ µÄ ¶Ô Ïó¡£ ÔÚ Ç° Ãæ µÄ Àý ×Ó À ÎÒ ÃÇ Éú ³É ÁË Ò» ¸ö ¶Ô Ïó ²¢ ÇÒ Ö¸ Ïò ÁË Ëü Á½ ´Î¡£ Õâ ¾Í ÔÊ Ðí Á½ ¸ö ±ä Á¿ ¸Ä ±ä ͬ Ò» ¸ö ¶Ô Ïó¡£ ´´ ½¨ Ò» ¸ö РµÄ ¶Ô Ïó ʱ£¬ ¿É Ö± ½Ó ¶Ô Ëü µÄ ʵ Àý ±ä Á¿ ¸³ Öµ¡£ ÿ ¸ö ¶Ô Ïó ¶¼ ÓÐ Ëü Ëù Êô Àà µÄ Êµ Àý ±ä Á¿ µÄ ¿½ ±´£¬ ÿ ¸ö ¶Ô Ïó µÄ ʵ Àý ±ä Á¿ ¶¼ ÊÇ ºÍ Æä Ëû ¶Ô Ïó µÄ ʵ Àý ±ä Á¿ ·Ö Àë µÄ£¬ Ëù ÒÔ ¸Ä ±ä Ò» ¸ö ¶Ô Ïó µÄ ʵ Àý ±ä Á¿ ²» »á Ó° Ïì Æä Ëû ¶Ô Ïó µÄ ʵ Àý ±ä Á¿¡£ ÏÂ Ãæ µÄ Àý ×Ó ´´ ½¨ ÁË Á½ ¸öUniversityµÄ ¶Ô Ïó£¬ ²¢ ¶Ô Ëü ÃÇ ·Ö ±ð ¸³ Öµ£º
class TwoUniversity { public static void main(String args[]) { University u1 = new University( ); University u2 = new University( ); u1.name = "±± ¾© ´ó ѧ"; u1.city = "±± ¾©"; u2.name = "Çå »ª ´ó ѧ"; u2.city = "±± ¾©"; System.out.println("´ó ѧ£º" + u1.name + " ³Ç ÊУº" + u1.city); System.out.println("´ó ѧ£º" + u2.name + " ³Ç ÊУº" + u2.city); } }
Õâ ¸ö Àý ×Ó ´´ ½¨ ÁË Á½ ¸öUniversityµÄ ¶Ô Ïó£¬ ²¢ ÇÒ ¶Ô Ëü ÃÇ µÄname¡¢city·Ö ±ð ¸³ ÁË ²» ͬ µÄ Öµ£¬ Õâ ˵ Ã÷ Õâ Á½ ¸ö ¶Ô Ïó ÊÇ Õæ Õý ·Ö Àë µÄ¡£ ÏÂ Ãæ ÊÇ ¸Ã ³Ì Ðò ÔË ÐÐ ºó µÄ Êä ³ö ½á ¹û¡£
C:\>java TwoUniversity ´ó ѧ£º ±± ¾© ´ó ѧ ³Ç ÊУº ±± ¾© ´ó ѧ£º Çå »ª ´ó ѧ ³Ç ÊУº ±± ¾©
µã£¨.£© ²Ù ×÷ ·û Óà À´ ½Ó ÊÕ Ò» ¸ö ¶Ô Ïó µÄ ʵ Àý ±ä Á¿ ºÍ ³É Ô± º¯ Êý¡£ ÏÂ Ãæ ÊÇ Óà µã ²Ù ×÷ ·û À´ ½Ó ÊÕ Êµ Àý ±ä Á¿ µÄ Ò» °ã ÐΠʽ¡£
objectreference.variablename
Õâ ÀïobjectreferenceÊÇ Ò» ¸ö ¶Ô Ïó ʵ Àý£¬variablenameÊÇ Õâ ¸ö ¶Ô Ïó Àï Äã Ïë ½Ó ÊÕ µÄ ʵ Àý ±ä Á¿¡£ ÏÂ Ãæ µÄ ³Ì Ðò ¶Î ˵ Ã÷ ÁË Ôõ Ñù Óà µã ²Ù ×÷ ·û À´ ¸ø ʵ Àý ±ä Á¿ ¸³ Öµ¡£
u.name = "±± ¾© ´ó ѧ"; u.city = "±± ¾©";
ÏÂ Ãæ ˵ Ã÷ Ôõ Ñù Óà µã ²Ù ×÷ ·û À´ µÃ µ½ ʵ Àý ±ä Á¿ µÄ Öµ¡£
System.out.println("´ó ѧ£º" + u.name + " ³Ç ÊУº" + u.city);
ͨ ¹ý Ïò ÀàUniversityÀï ¼Ó Èë Ò» ¸ö ³É Ô± º¯ Êýmain£¬ ÎÒ ÃÇ ´´ ½¨ ÁË Ò» ¸ö Íê Õû µÄ Àý ×Ó£¬ Ëü ʹ Óà ÁËnew ²Ù ×÷ ·û À´ ´´ ½¨ Ò» ¸öUniversity£¬ Óà µã ²Ù ×÷ ·û À´ ¸³ Öµ£¬ È» ºó ´ò Ó¡ ½á ¹û¡£
class University { String name, city; public static void main(String args[]) { University u = new University( ); u.name = "±± ¾© ´ó ѧ"; u.city = "±± ¾©"; System.out.println("´ó ѧ£º" + u.name + " ³Ç ÊУº" + u.city); } }
ÔË ÐÐ Õâ ¸ö ³Ì Ðò ºó£¬ ¾Í »á µÃ µ½ ÏÂ Ãæ µÄ ½á ¹û¡£
C:\>java University ´ó ѧ£º ±± ¾© ´ó ѧ ³Ç ÊУº ±± ¾©
³É Ô± º¯ Êý£¬ ÊÇ Àà µÄ ¹¦ ÄÜ ½Ó ¿Ú£¬ ÊÇ Àà ¶¨ Òå Àï µÄ Ò» ¸ö ×Ó ³Ì Ðò£¬ ÔÚ Àà µÄ ¶¨ Òå Àï ºÍ Êµ Àý ±ä Á¿ ´¦ ÓÚ Í¬ Ò» ¼¶ ±ð¡£ Äã ±Ø Ðë ͨ ¹ý Ò» ¸ö Àà µÄ Êµ Àý À´ µ÷ Óà ³É Ô± º¯ Êý¡£ ³É Ô± º¯ Êý ¿É ÒÔ ²» Óà µã ²Ù ×÷ ·û ¶ø Ö± ½Ó ʹ Óà ʵ Àý ±ä Á¿¡£ ³É Ô± º¯ Êý ´ø ÓÐ Êä Èë ²Î Êý£¬ ¾ß ÓРij ÖÖ Àà ÐÍ µÄ ·µ »Ø Öµ¡£ ³É Ô± º¯ Êý ¶¨ Òå µÄ Ò» °ã ÐΠʽ Èç Ï£º
type methodname ( formal-parameter-list ) { method-body; }
Õâ ÀïtypeÖ¸ µÄ ÊÇ ³É Ô± º¯ Êý µÄ ·µ »Ø Öµ µÄ Àà ÐÍ£¬ Èç ¹û û ÓÐ ·µ »Ø Öµ£¬ ¾Í Óà ÎÞ Öµ£¨void£© Àà ÐÍ¡£ methodname¿É ÒÔ ÊÇ ÈÎ ºÎ ºÏ ·¨ µÄ ±ê ʶ ·û£¬ µ« ²» ÄÜ Óë µ± ǰ µÄ Àà Ãû Ïà ͬ¡£formal-parameter-listÊÇ Óà ¶º ºÅ ·Ö ¸ô µÄ Àà ÐÍ¡¢ ±ê ʶ ·û ¶Ô µÄ Ðò ÁС£ Èç ¹û û ÓÐ ²Î Êý£¬ À¨ ºÅ Àï ¾Í ÊÇ ¿Õ µÄ¡£ »¹ ÊÇ Óà ÎÒ ÃÇ µÄUniversityµÄ Àý ×Ó£¬ ÏÂ Ãæ µÄ ³É Ô± º¯ Êý Óà À´ ³õ ʼ »¯ Á½ ¸ö ʵ Àý ±ä Á¿¡£ ³É Ô± º¯ Êý ÊÇ ÔÚ Àà µÄ ´ó À¨ ºÅ Ö® ÄÚ ¶¨ Òå µÄ£¬ ºÍ ʵ Àý ±ä Á¿ Ëù ´¦ µÄ ·¶ Χ Ïà ͬ¡£
class University { String name, city; void init(String a, String b) { name = a; city = b; } }
×¢ Ò⣬ ÎÒ ÃÇ Õâ Àï Ö± ½Ó ¸ønameºÍcity¸³ Öµ£¬ ¶ø û ÓÐ Ïó ÒÔ Ç° ÄÇ Ñù ÓÃu1.name¡£ Õâ ÊÇ Òò Ϊ ÿ ¸ö ³É Ô± º¯ Êý ¶¼ ÔÚ Àà µÄ ¸ö ±ð ʵ Àý ÄÚ Ö´ ÐС£ ÎÒ ÃÇ ´´ ½¨ µÄ Àà µÄ Êµ Àý ¾ß ÓÐ Ëü ×Ô ¼º µÄ ʵ Àý ±ä Á¿£¬ Ëù ÒÔ ³É Ô± º¯ Êý ¿É Ö± ½Ó ʹ Óà Ëü ÃÇ¡£
¿É ÒÔ Óà µã£¨.£© ²Ù ×÷ ·û À´ µ÷ Óà һ ¸ö Àà µÄ Êµ Àý µÄ ³É Ô± º¯ Êý¡£ ³É Ô± º¯ Êý µ÷ Óà µÄ Ò» °ã ÐΠʽ Èç Ï£º
objectreference.methodname( parameter-list );
Õâ ÀobjectreferenceÊÇ Ö¸ Ïò ij ¸ö ¶Ô Ïó µÄ ±ä Á¿£¬methodnameÊÇobjectreferenceËù Êô Àà µÄ Ò» ¸ö ³É Ô± º¯ Êý£¬parameter-listÊÇ Óà ¶º ºÅ ·Ö ¸ô µÄ ±ä Á¿ »ò ±í ´ï ʽ µÄ Ðò ÁУ¬ Ëü ÃÇ Òª Óë ¸Ã ³É Ô± º¯ Êý µÄ ¶¨ Òå µÄ ²Î Êý ¸ö Êý ¼° Àà ÐÍ Æ¥ Åä¡£ ÔÚ Õâ ¸ö Àý ×Ó À ÎÒ ÃÇ ¿É ÒÔ ¶Ô ÈÎ ºÎUniversity¶Ô Ïó µ÷ Óà ³É Ô± º¯ ÊýinitÀ´ ¸ønameºÍcity¸³ Öµ¡£ ÏÂ Ãæ µÄ ³Ì Ðò ¶Î ˵ Ã÷ ÁË Ôõ Ñù Íê ³É Õâ ¸ö ¹¤ ×÷¡£
University u = new University( ); u.init("±± ¾© ´ó ѧ", "±± ¾©");
Õâ ¸ö Àý ×Ó ´´ ½¨ ÁËUniversityµÄ Ò» ¸ö ʵ Àý£¬ ´æ ·Å ÔÚuÖС£ ͨ ¹ý µã ²Ù ×÷ ·û À´ µ÷ Óà Õâ ¸ö ʵ Àý µÄinit ³É Ô± º¯ Êý£¬ °Ñ"±± ¾© ´ó ѧ"ºÍ"±± ¾©"·Ö ±ð ´« µÝ ¸ø ²Î ÊýaºÍb¡£ ÔÚinit³É Ô± º¯ Êý ÄÚ ²¿£¬nameºÍcity Ö± ½Ó Ö¸ ÏòuËù Ö¸ Ïò µÄ ¶Ô Ïó µÄ ʵ Àý ±ä Á¿¡£ °Ñname ¸³ Öµ Ϊ"±± ¾© ´ó ѧ"£¬city¸³ Öµ Ϊ"±± ¾©"£¬ È» ºó ·µ »Ø¡£ ÔÚ Õâ ¸ö Àý ×Ó Àinit±» ¶¨ Òå Ϊ ÎÞ Öµ£¨void£© ·µ »Ø Àà ÐÍ¡£ ÔÚ ½ø ÐÐ Õâ ¸ö ³É Ô± º¯ Êý µ÷ Óà ºó£¬uÖ¸ Ïò Õâ ¸önameÖµ ºÍcityÖµ ¸Ä ±ä ÁË µÄUniversity¶Ô Ïó¡£
JavaÓÐ Ò» ¸ö ÌØ Êâ µÄ Êµ Àý Öµ ½Ðthis£¬ Ëü Óà À´ ÔÚ Ò» ¸ö ³É Ô± º¯ Êý ÄÚ ²¿ Ö¸ Ïò µ± ǰ µÄ ¶Ô Ïó¡£ ÔÚ Ç° Ãæ µÄ Àý ×Ó À ÎÒ ÃÇ µ÷ ÓÃu.init£¬ Ò» µ© ½ø Èëinit³É Ô± º¯ Êý ÄÚ ²¿£¬this¾Í »á Ö¸ ÏòuËù Ö¸ Ïò µÄ ¶Ô Ïó¡£ ÔÚJavaÀ ÔÚ Í¬ Ò» ¸ö ·¶ Χ ¶¨ Òå Á½ ¸ö Ïà ͬ Ãû ×Ö µÄ ¾Ö ²¿ ±ä Á¿ ÊÇ ²» ¿É ÒÔ µÄ¡£ ÓРȤ µÄ ÊÇ£¬ ¾Ö ²¿ ±ä Á¿¡¢ ³É Ô± º¯ Êý µÄ ²Î Êý ¿É ÒÔ ºÍ ʵ Àý ±ä Á¿ µÄ Ãû ×Ö Ïà ͬ¡£ ǰ Ãæ ÎÒ ÃÇ Ã» ÓÐ ÓÃnameºÍcity×÷ Ϊ ³É Ô± º¯ ÊýinitµÄ ²Î Êý Ãû ×Ö£¬ Òò Ϊ Õâ Ñù Ëü ÃÇ ÔÚ ³É Ô± º¯ Êý µÄ ·¶ Χ Àï ¾Í °Ñ ʵ Àý ±ä Á¿nameºÍcityÒþ ²Ø ÁË£¬ ¼´nameÖ¸ Ïò ²Î Êýname£¬ Òþ ²Ø ÁË Êµ Àý ±ä Á¿name¡£thisÈà ÎÒ ÃÇ ¿É ÒÔ Ö± ½Ó Ö¸ Ïò ¶Ô Ïó ±¾ Éí¡£ ÏÂ Ãæ ÊÇ Áí Ò» ¸ö °æ ±¾ µÄ init£¬ ÓÃnameºÍcity×÷ Ϊ ²Î Êý Ãû ×Ö£¬ ÓÃthisÀ´ ½Ó ÊÕ µ± ǰ ¶Ô Ïó µÄ ʵ Àý ±ä Á¿¡£
void init(String name, String city) { this.name = name; this.city = city; }
ÏÂ Ãæ ÊÇ ´ø ÓРРµÄinit³õ ʼ ³É Ô± º¯ Êý µÄTwoUniversityÀý ×Ó¡£
class University { String name, city; void init(String name, String city) { this.name = name; this.city = city; } }
class TwoUniversityInit { public static void main(String args[]) { University u1 = new University( ); University u2 = new University( ); u1.init("±± ¾© ´ó ѧ", "±± ¾©"); u2.init("Çå »ª ´ó ѧ", "±± ¾©"); System.out.println("´ó ѧ£º" + u1.name + " ³Ç ÊУº" + u1.city); system.out.println("´ó ѧ£º" + u2.name + " ³Ç ÊУº" + u2.city); } }
ÿ ´´ ½¨ Ò» ¸ö Àà µÄ Êµ Àý ¶¼ È¥ ³õ ʼ »¯ Ëü µÄ Ëù ÓÐ ±ä Á¿ ÊÇ ·¦ ζ µÄ¡£ Èç ¹û Ò» ¸ö ¶Ô Ïó ÔÚ ±» ´´ ½¨ ʱ ¾Í Íê ³É ÁË Ëù ÓÐ µÄ ³õ ʼ ¹¤ ×÷£¬ ½« ÊÇ ¼ò µ¥ µÄ ºÍ ¼ò ½à µÄ¡£ Òò ´Ë£¬JavaÔÚ Àà Àï Ìá ¹© ÁË Ò» ¸ö ÌØ Êâ µÄ ³É Ô± º¯ Êý£¬ ½Ð ×ö ¹¹ Ôì º¯ Êý£¨Constructor£©¡£ Ò» ¸ö ¹¹ Ôì º¯ Êý ÊÇ ¶Ô Ïó ±» ´´ ½¨ ʱ ³õ ʼ ¶Ô Ïó µÄ ³É Ô± º¯ Êý¡£ Ëü ¾ß ÓÐ ºÍ Ëü Ëù ÔÚ µÄ Àà Íê È« Ò» Ñù µÄ Ãû ×Ö¡£ Ò» µ© ¶¨ Òå ºÃ Ò» ¸ö ¹¹ Ôì º¯ Êý£¬ ´´ ½¨ ¶Ô Ïó ʱ ¾Í »á ×Ô ¶¯ µ÷ Óà Ëü¡£ ¹¹ Ôì º¯ Êý û ÓÐ ·µ »Ø Àà ÐÍ£¬ ¼´ ʹ ÊÇvoidÀà ÐÍ Ò² û ÓС£ Õâ ÊÇ Òò Ϊ Ò» ¸ö Àà µÄ ¹¹ Ôì º¯ Êý µÄ ·µ »Ø Öµ µÄ Àà ÐÍ ¾Í ÊÇ Õâ ¸ö Àà ±¾ Éí¡£ ¹¹ Ôì º¯ Êý µÄ ÈÎ Îñ ÊÇ ³õ ʼ Ò» ¸ö ¶Ô Ïó µÄ ÄÚ ²¿ ×´ ̬£¬ Ëù ÒÔ ÓÃnew²Ù ×÷ ·û ´´ ½¨ Ò» ¸ö ʵ Àý ºó£¬ Á¢ ¿Ì ¾Í »á µÃ µ½ Ò» ¸ö Çå ³þ¡¢ ¿É Óà µÄ ¶Ô Ïó¡£ ÏÂ Ãæ Õâ ¸ö Àý ×Ó À Óà ¹¹ Ôì º¯ Êý È¡ ´ú ÁË ³É Ô± º¯ Êýinit¡£
class University { String name, city; University(String name, String city) { this.name = name; this.city = city; } }
class UniversityCreate { public static void main(String args[]) { University u = new University("±± ¾© ´ó ѧ", "±± ¾©"); System.out.println("´ó ѧ£º" + u.name + " ³Ç ÊУº" + u.city); } }
newÓï ¾ä ÖÐ Àà Ãû ºó µÄ ²Î Êý ÊÇ ´« ¸ø ¹¹ Ôì º¯ Êý µÄ¡£
¶Ô ÓÚ ¼¸ ¸ö Òâ Òå Ïà ½ü µÄ ³É Ô± º¯ Êý£¬ ÓРʱ ʹ Óà Ïà ͬ µÄ Ãû ×Ö ±ã ÓÚ Àí ½â¡£ Òò ´Ë£¬JavaÓï ÑÔ Êµ ÏÖ ÁË ³É Ô± º¯ Êý ÖØ ÔØ£¬ ¼´ ¿É ÒÔ ´´ ½¨ ¼¸ ¸ö Ãû ×Ö Ïà ͬ¡¢ ²Î Êý ²» ͬ µÄ ³É Ô± º¯ Êý¡£ ³É Ô± º¯ Êý ÖØ ÔØ Ìá ¹© ÁËJavaµÄ ¶à ̬ ÐРΪ¡£ ÏÂ Ãæ µÄ Àý ×Ó Óà µ½ ÁË ÖØ ÔØ¡£
class University { String name, city; University(String name, String city) { this.name = name; this.city = city; } University( ) { name = "±± ¾© ´ó ѧ"; city = "±± ¾©"; } }
class UniversityCreateAlt { public static void main(String args[]) { University u = new University( ); System.out.println("´ó ѧ£º" + u.name + " ³Ç ÊУº" + u.city); } }
Õâ ¸ö Àý ×Ó ´´ ½¨ ÁË Ò» ¸öUniversity¶Ô Ïó£¬ µ÷ Óà ÁË µÚ ¶þ ¸ö ¹¹ Ôì º¯ Êý¡£ ÏÂ Ãæ ÊÇ Ëü µÄ ÔË ÐÐ ½á ¹û¡£
C:\>java UniversityCreateAlt ´ó ѧ£º ±± ¾© ´ó ѧ ³Ç ÊУº ±± ¾©
Ò» ¸ö ¹¹ Ôì º¯ Êý ¿É ÒÔ µ÷ Óà Áí Ò» ¸ö ¹¹ Ôì º¯ Êý À´ ´´ ½¨ ʵ Àý¡£ Àý È磺
class University { String name, city; University(String name, String city) { this.name = name; this.city = city; } University( ) { this("±± ¾© ´ó ѧ", "±± ¾©"); } }
µÚ ¶þ ¸ö ¹¹ Ôì º¯ Êý µ÷ Óà ÁË µÚ Ò» ¸ö ¹¹ Ôì º¯ Êý À´ Íê ³É Êµ Àý µÄ ³õ ʼ »¯¡£ Äã Ò² ¿É ÒÔ ÓÃ ÖØ ÔØ À´ ´´ ½¨ Ò» °ã µÄ ³É Ô± º¯ Êý¡£ ÏÂ Ãæ Õâ ¸ö Àý ×Ó Àï ÓÐUniversityÀà µÄ Á½ ¸ö °æ ±¾ µÄ samecity³É Ô± º¯ Êý¡£samecityÅÐ ¶Ï Ò» ¸ö ´ó ѧ ÊÇ ·ñ ÔÚ Ò» ¸ö ³Ç ÊÐ Àï »ò Ò» ¸ö ´ó ѧ ºÍ Áí Ò» ¸ö ´ó ѧ ÊÇ ·ñ ÔÚ Í¬ Ò» ¸ö ³Ç ÊÐ Àï¡£ Ò» ¸ö ³É Ô± º¯ Êý ÓÃcity×÷ ²Î Êý£¬ Áí Ò» ¸ö ÓÃUniversity¶Ô Ïó ×÷ ²Î Êý¡£
class University { String name, city; University(String name, String city) { this.name = name; this.city = city; } boolean samecity(String city) { if (city.equals(this.city)) return true; else return false; } boolean samecity(University u) { return samecity(u.city); } }
class UniversityCity { public static void main(String args[]) { String city = "ÉϺ£"; University u1 = new University("±± ¾© ´ó ѧ", "±± ¾©"); University u2 = new University("Çå »ª ´ó ѧ", "±± ¾©"); System.out.println("u1 = " + u1.name + ", " + u1.city); System.out.println("u2 = " + u2.name + ", " + u2.city); System.out.println("city = " + city); System.out.println("u1.samecity(u2) = " + u1.samecity(u2)); System.out.println("u1.samecity(city) = " + u1.samecity(city)); } }
ÏÂ Ãæ ÊÇ ¸Ã ³Ì Ðò µÄ ÔË ÐÐ ½á ¹û¡£
C:\>java UniversityCity u1 = ±± ¾© ´ó ѧ, ±± ¾© u2 = Çå »ª ´ó ѧ, ±± ¾© city = ÉϺ£ u1.samecity(u2) = true u1.samecity(city) = false
µÚ ¶þ ¸ö »ù ±¾ µÄ Ãæ Ïò ¶Ô Ïó »ú ÖÆ ÊÇ ¼Ì ³Ð¡£ ¼Ì ³Ð ÊÇ ¹Ø ÓÚ ÓÐ ²ã ´Î ¹Ø ϵ µÄ Àà Ö® ¼ä µÄ ¸Å Äî¡£ Ò» ¸ö Àà µÄ ºó ´ú ¿É ÒÔ ¼Ì ³Ð Ëü µÄ ׿ ÏÈ µÄ Ëù ÓÐ ±ä Á¿ ºÍ ³É Ô± º¯ Êý£¬ ¾Í Ïó ´´ ½¨ ×Ô ¼º µÄ Ò» Ñù¡£ Ò» ¸ö Àà µÄ Ö± ½Ó ¸¸ Ç× ½Ð ×ö Ëü µÄ ³¬ Àࣨsuperclass£©¡£ Ò» µ© Äã ´´ ½¨ ÁË Ò» ¸ö ÏóUniversityÕâ Ñù µÄ À࣬ ´´ ½¨ Ëü µÄ ×Ó Àà ÊÇ ºÜ ¼ò µ¥ µÄ¡£ Ò» ¸ö Àà µÄ ×Ó Àà ÊÇ Ëü µÄ ¼Ì ³Ð ÁË Êµ Àý ±ä Á¿ ºÍ ³É Ô± º¯ Êý µÄ ÌØ Êâ µÄ °æ ±¾¡£ ÔÚ Õâ ¸ö Àý ×Ó À ÎÒ ÃÇ °ÑUniversityÀà ÅÉ Éú Ϊ º¬ ÓÐ ½Ð ×öcountryµÄ µÚ Èý ¸ö Ôª ËØ µÄ ×Ó Àà¡£
class UniversityWorld extends University { String country; UniversityWorld(String name, String city, String country) { this.name = name; this.city = city; this.country = country; } UniversityWorld( ) { this("±± ¾© ´ó ѧ", "±± ¾©", "ÖÐ ¹ú"); } }
¹Ø ¼ü ´ÊextendsÓà À´ ±í ʾ ÎÒ ÃÇ Òª ´´ ½¨UniversityµÄ ×Ó Àà¡£nameºÍcity²» Ðè ÔÙ ÔÚUniversityWorld ÖÐ ½ø ÐÐ Éù Ã÷£¬ Òò Ϊ Ëü ÃÇ ÊÇ ´ÓUniversityÖÐ ¼Ì ³Ð µÄ¡£JavaÔÊ Ðí ÔÚUniversityWorldÖÐ Éù Ã÷ ±ä Á¿name ºÍcity£¬ µ« Õâ »á Òþ ²ØUniversityÖÐ µÄnameºÍcity£¬ ÊÇ Óë ʹ Óà ×Ó Àà µÄ Ä¿ µÄ Ïà ì ¶Ü µÄ£¬ Ó¦ µ± ±Ü Ãâ¡£ ÔÚ UniversityWorldµÄ ʵ Àý ÖУ¬name¡¢cityºÍcountryµÄ µØ λ ÊÇ Ò» Ñù µÄ¡£
5.11 super ÔÚUniversityWorldµÄ Àý ×Ó À ÓÐ Ò» ¶Î ´ú Âë ºÍ Ëü µÄ ³¬ ÀàUniversityµÄ ÖØ ¸´£¬ Õâ ¶Î ´ú Âë ÊÇ ³õ ʼ »¯ nameºÍcityµÄ£¬
this.name = name; this.city = city;
¾Í Ïó ÔÚUniversityÀý ×Ó ÖÐ ÓÃthisÖ¸ Ïò µÚ Ò» ¸ö ¹¹ Ôì º¯ Êý Ò» Ñù£¬ ÔÚJavaÀï ÓÐ Áí Ò» ¸ö ±ä Á¿ ½Ð ×ö super£¬ Ëü Ö± ½Ó Ö¸ Ïò ³¬ Àà µÄ ¹¹ Ôì º¯ Êý¡£ ÏÂ Ãæ Õâ ¸ö Àý ×Ó ÓÃsuperÀ´ ³õ ʼ »¯ ±ä Á¿nameºÍcity£¬ È» ºó ´ò Ó¡ ³ö Õâ ¸ö ¶Ô Ïó µÄ ÄÚ ÈÝ¡£
class UniversityWorld extends University { String country; UniversityWorld(String name, String city, String country) { super(name, city); // µ÷ Óà ÁË ¹¹ Ôì º¯ ÊýUniversity(name, city) this.country = country; } public static void main(String args[]) { UniversityWorld u = new UniversityWorld("±± ¾© ´ó ѧ", "±± ¾©", "ÖÐ ¹ú"); System.out.println("´ó ѧ£º" + u.name + " ³Ç ÊУº" + u.city + " ¹ú ¼Ò£º" + u.country); } }
ÏÂ Ãæ ÊÇ ÔË ÐÐ ½á ¹û¡£
C:\>java UniversityWorld ´ó ѧ£º ±± ¾© ´ó ѧ ³Ç ÊУº ±± ¾© ¹ú ¼Ò£º ÖÐ ¹ú
Õâ ¸öUniversityµÄ РµÄ ×Ó Àà ¼Ì ³Ð ÁË Ëü µÄ ³¬ Àà µÄ ³É Ô± º¯ Êýsamecity¡£ µ« Õâ ¸ö ³É Ô± º¯ Êýsamecity ÅÐ ¶Ï µÄ ÊÇ Á½ ¸ö ³Ç ÊÐ µÄ Ãû ×Ö£¬ Õâ ÊÇ ²» ¹» µÄ£¬ Òò Ϊ ÓÐ ¿É ÄÜ Á½ ¸ö Á½ ¸ö Ãû ×Ö Ò» Ñù µÄ ³Ç ÊÐ Êô ÓÚ ²» ͬ µÄ ¹ú ¼Ò£¬ ÎÒ ÃÇ Òª Óà ͬ ʱ ÅÐ ¶Ï ³Ç ÊÐ ºÍ ¹ú ¼Ò µÄ ³É Ô± º¯ Êý À´ ¸² ¸Ç Ëü¡£ ÏÂ Ãæ ¾Í ÊÇ Êµ ÏÖ ¸² ¸Ç µÄ Àý ×Ó¡£
class University { String name, city; University(String name, String city) { this.name = name; this.city = city; } boolean samecity(String city) { if (city.equals(this.city)) return true; else return false; } boolean samecity(University u) { return samecity( u.city); } }
class UniversityWorld extends University { String country; UniversityWorld(String name, String city, String country) { super(name, city); this.country = country; } boolean samecity(String city, String country) { if (city.equals(u.city) && country.equals(u.country)) return true; else return false; } boolean samecity(UniversityWorld other) { return distance(other.city, other.country); } }
class UniversityWorldCity { public static void main(String args[]) { String city = "ÉϺ£"; String country = "ÖÐ ¹ú"; UniversityWorld u1 = new UniversityWorld("±± ¾© ´ó ѧ", "±± ¾©", "ÖÐ ¹ú"); UniversityWorld u2 = new UniversityWorld("Çå »ª ´ó ѧ", "±± ¾©", "ÖÐ ¹ú"); System.out.println("u1 = " + u1.name + ", " + u1.city + ", " + u1.country); System.out.println("u2 = " + u2.name + ", " + u2.city+ ", " + u2.country); System.out.println("city = " + city + ", country = " + country); System.out.println("u1.samecity(u2) = " + u1.samecity(u2)); System.out.println("u1.samecity(city, country) = " + u1.samecity(city, country)); } }
ÏÂ Ãæ ÊÇ Êä ³ö ½á ¹û¡£
C:\>java UniversityWorldCity u1 = ±± ¾© ´ó ѧ, ±± ¾©, ÖÐ ¹ú u2 = Çå »ª ´ó ѧ, ±± ¾©, ÖÐ ¹ú city = ÉϺ£, country = ÖÐ ¹ú u1.samecity(u2) = true u1.samecity(city, country) = false
µ± Äã Óà µã ²Ù ×÷ ·û µ÷ Óà һ ¸ö ¶Ô Ïó ʵ Àý µÄ ³É Ô± º¯ Êý ʱ£¬ ¶Ô Ïó ʵ Àý Ëù Êô µÄ Àà ÔÚ ±à Òë ʱ Òª ±» ¼ì ²é£¬ ÒÔ È· ±£ µ÷ Óà µÄ ³É Ô± º¯ Êý ÔÚ ¸Ã Àà ÖÐ ÊÇ ´æ ÔÚ µÄ¡£ ÔÚ ÔË ÐРʱ£¬ ¶Ô Ïó ʵ Àý ¿É ÒÔ Ö¸ Ïò Ëù Éù Ã÷ Àà ÐÍ µÄ ×Ó Àà µÄ Êµ Àý¡£ ÔÚ Õâ Щ Çé ¿ö Ï£¬ Èç ¹û ×Ó Àà ¸² ¸Ç ÁË Òª µ÷ Óà µÄ ³É Ô± º¯ Êý£¬Java¾Í Óà ʵ Àý À´ ¾ö ¶¨ µ÷ Óà ÄÄ Ò» ¸ö ³É Ô± º¯ Êý¡£ Èç ÏÂ Ãæ µÄ Àý ×Ó£¬ Á½ ¸ö Àà ÊÇ ×Ó Àà ºÍ ³¬ Àà µÄ ¹Ø ϵ£¬ ×Ó Àà ¸² ¸Ç ÁË ³¬ Àà µÄ ³É Ô± º¯ Êý¡£
class A { void callme( ) { System.out.println("ÔÚAµÄcallme³É Ô± º¯ Êý Àï"); } }
class B extends A { void callme( ) { System.out.println("ÔÚBµÄcallme³É Ô± º¯ Êý Àï"); } }
class Dispatch { public static void main(String args[]) { A a = new B( ); a.callme( ); } }
ÓРȤ µÄ ÊÇ£¬ ÔÚ ³É Ô± º¯ ÊýmainÀ ÎÒ ÃÇ °Ñ ±ä Á¿aÉù Ã÷ Ϊ Àà ÐÍA£¬ È» ºó °Ñ ÀàBµÄ Ò» ¸ö ʵ Àý ´æ ·Å µ½ Ëü ÉÏ Ãæ¡£ ÎÒ ÃÇ ÔÚaÉÏ µ÷ Óà ³É Ô± º¯ Êýcallme£¬Java±à Òë Æ÷ È· ¶¨ ÔÚ ÀàAÈ· ʵ ÓÐ ³É Ô± º¯ Êýcallme£¬ µ« ÊÇ ÔÚ ÔË ÐРʱ£¬ ÓÉ ÓÚaÊ ʵ ÉÏ ÊÇBµÄ ʵ Àý£¬ Ëù ÒÔ µ÷ ÓÃBµÄcallme£¬ ¶ø ²» µ÷ ÓÃAµÄ¡£ ÏÂ Ãæ ÊÇ ÔË ÐÐ ½á ¹û£º
C:\>java Dispatch ÔÚBµÄcallme³É Ô± º¯ Êý Àï
ÔÚ È± Ê¡ Çé ¿ö Ï£¬ Ëù ÓÐ µÄ ³É Ô± º¯ Êý ºÍ ʵ Àý ±ä Á¿ ¶¼ ¿É ÒÔ ±» ¸² ¸Ç¡£ Èç ¹û Äã Ï£ Íû Äã µÄ ±ä Á¿ »ò ³É Ô± º¯ Êý ²» ÔÙ ±» ×Ó Àà ¸² ¸Ç£¬ ¿É ÒÔ °Ñ Ëü ÃÇ Éù Ã÷ Ϊfinal¡£ Õâ Òâ ζ ×Å ½« À´ µÄ ʵ Àý ¶¼ ÒÀ Àµ Õâ ¸ö ¶¨ Òå¡£ Àý È磺
final int FILE_NEW = 1; final int FILE_OPEN = 2; final int FILE_SAVE = 3; fianl int FILE_SAVEAS = 4; final int FILE_QUIT = 5;
final±ä Á¿ Óà ´ó д ±ê ʶ ·û ÊÇ Ò» ¸ö Ò» °ã µÄ Ô¼ ¶¨¡£
Èç ¹û Äã Ïë Òª ´´ ½¨ Ò» ¸ö ¿É ÒÔ ÔÚ Êµ Àý µÄ Íâ ²¿ µ÷ Óà µÄ ³É Ô± º¯ Êý£¬ ÄÇ Ã´ Äã Ö» Ðè Éù Ã÷ Ëü Ϊ ¾² ̬ µÄ £¨static£©£¬ Ëü ¾Í »á Õý ³£ ÔË ÐС£ ¾² ̬ ³É Ô± º¯ Êý Ö» ÄÜ Ö± ½Ó µ÷ Óà Æä Ëû ¾² ̬ ³É Ô± º¯ Êý£¬ ¶ø ²» ÄÜ ÒÔ ÈÎ ºÎ ·½ ʽ ʹ ÓÃthis»òsuper¡£ Äã Ò² ¿É ÒÔ °Ñ ±ä Á¿ Éù Ã÷ Ϊ ¾² ̬ µÄ¡£ Èç ¹û Äã Ïë ³õ ʼ »¯ Ò» ¸ö ¾² ̬ ±ä Á¿£¬ Äã ¿É ÒÔ Óà staticÉù Ã÷ Ò» ¸ö Ç¡ ºÃ ÔÚ Àà µ÷ Óà ʱ Ö´ ÐÐ Ò» ´Î µÄ ³Ì Ðò ¿é¡£ ÏÂ Ãæ µÄ Àý ×Ó ÊÇ Ò» ¸ö ´ø ÓÐ Ò» ¸ö ¾² ̬ ³É Ô± º¯ Êý£¬ ¼¸ ¸ö ¾² ̬ ±ä Á¿£¬ ºÍ Ò» ¸ö ¾² ̬ ³õ ʼ ¿é µÄ Àà¡£
class Static { static int a = 3; static int b; static void method(int x) { System.out.println("x = " + x); System.out.println("a = " + a); System.out.println("b = " + b); } static { System.out.println("¾² ̬ ³õ ʼ ¿é"); b = a * 4; } public static void main(String args[]) { method(42); } }
Ò» µ© Õâ ¸ö Àà ±» µ÷ Ó㬠Ëù ÓÐ µÄ ¾² ̬ ±ä Á¿ ¶¼ ±» ³õ ʼ »¯£¬a±» ¸³ Ϊ3£¬ È» ºó ÔË ÐÐstatic¿é£¬ Õâ ½« ´ò Ó¡ ³ö Ò» ¶Î Ïû Ï¢£¬ ²¢ ÇÒ °Ñb¸³ Ϊa*4£¬ ¼´12¡£ È» ºó ½â ÊÍ Æ÷ µ÷ ÓÃmain³É Ô± º¯ Êý£¬ Ëü µ÷ Óà ÁË ³É Ô± º¯ Êý method£¬ ²Î ÊýxΪ42¡£ Õâ Èý ¸öprintlnÓï ¾ä ´ò Ó¡ ÁË Á½ ¸ö ¾² ̬ ±ä Á¿a¡¢bºÍ ¾Ö ²¿ ±ä Á¿x¡£ ÏÂ Ãæ ÊÇ ÔË ÐÐ ½á ¹û£º
C:\>java Static ¾² ̬ ³õ ʼ ¿é x = 42 a = 3 b = 12
Ò» ¸ö ¾² ̬ ³É Ô± º¯ Êý ¿É ÒÔ Í¨ ¹ý Ëü Ëù Êô µÄ Àà Ãû À´ µ÷ ÓᣠÏó µ÷ Óà ʵ Àý ±ä Á¿ Ò» Ñù£¬ Äã ¿É ÒÔ Óà µã ²Ù ×÷ ·û ͨ ¹ý Àà Ãû À´ µ÷ Óà ¾² ̬ ³É Ô± º¯ Êý ºÍ ¾² ̬ ±ä Á¿¡£Java¾Í ÊÇ Õâ Ñù ʵ ÏÖ ÁË È« ¾Ö º¯ Êý ºÍ È« ¾Ö ±ä Á¿¡£ ÏÂ Ãæ µÄ Àý ×Ó À ÎÒ ÃÇ ´´ ½¨ ÁË ´ø ÓÐ Ò» ¸ö ¾² ̬ ³É Ô± º¯ Êý ºÍ Á½ ¸ö ¾² ̬ ±ä Á¿ µÄ Àà¡£ µÚ ¶þ ¸ö Àà ¿É ÒÔ Í¨ ¹ý Ãû ×Ö Ö± ½Ó À´ µ÷ Óà µÚ Ò» ¸ö Àà µÄ ¾² ̬ ³É Ô± º¯ Êý ºÍ ¾² ̬ ±ä Á¿¡£
class staticClass { static int a = 42; static int b = 99; static void callme( ) { System.out.println("a = " + a); } }
class StaticByName { public static void main(String args[]) { StaticClass.callme( ); System.out.println("b = " + staticClass.b); } }
ÏÂ Ãæ ÊÇ ÔË ÐÐ ½á ¹û£º
C:\>java staticByName a = 42 b = 99
ÓРʱ Äã Ðè Òª ¶¨ Òå Ò» ¸ö ¸ø ³ö ³é Ïó ½á ¹¹¡¢ µ« ²» ¸ø ³ö ÿ ¸ö ³É Ô± º¯ Êý µÄ Íê Õû ʵ ÏÖ µÄ Àà¡£ Èç ¹û ij ¸ö ³É Ô± º¯ Êý û ÓÐ Íê Õû ʵ ÏÖ£¬ ±Ø Ðë Òª ÓÉ ×Ó Àà À´ ¸² ¸Ç£¬ Äã ¿É °Ñ Ëü Éù Ã÷ Ϊ ³é Ïó£¨abstract£© ÐÍ¡£ º¬ ÓÐ ³é Ïó ÐÍ ³É Ô± º¯ Êý µÄ Àà ±Ø Ðë Éù Ã÷ Ϊ ³é Ïó µÄ¡£ Ϊ ÁË °Ñ Ò» ¸ö Àà Éù Ã÷ Ϊ ³é Ïó µÄ£¬ Äã Ö» Ðè ÔÚ Àà ¶¨ Òå µÄclass¹Ø ¼ü ´Ê ǰ ·Å Öà ¹Ø ¼ü ´Êabstract¡£ Õâ Щ Àà ²» ÄÜ Ö± ½Ó ÓÃnew²Ù ×÷ ·û Éú ³É ʵ Àý£¬ Òò Ϊ Ëü ÃÇ µÄ Íê Õû ʵ ÏÖ »¹ û ÓÐ ¶¨ Òå¡£ Äã ²» ÄÜ ¶¨ Òå ³é Ïó µÄ ¹¹ Ôì º¯ Êý »ò ³é Ïó µÄ ¾² ̬ ³É Ô± º¯ Êý¡£ ³é Ïó Àà µÄ ×Ó Àà »ò Õß Êµ ÏÖ ÁË Ëü µÄ ³¬ Àà µÄ Ëù ÓÐ ³é Ïó µÄ ³É Ô± º¯ Êý£¬ »ò Õß Ò² ±» Éù Ã÷ Ϊ ³é Ïó µÄ¡£ ÏÂ Ãæ Àý ×Ó ÊÇ Ò» ¸ö ´ø ÓÐ ³é Ïó ³É Ô± º¯ Êý µÄ À࣬ Æä ºó ÊÇ Ò» ¸ö ʵ ÏÖ ÁË ¸Ã ³É Ô± º¯ Êý µÄ Àà¡£
abstract class A { abstract void callme( ) ; void metoo( ) { system.out.println("ÔÚAµÄmetoo³É Ô± º¯ Êý Àï"); } }
class B extends A { void callme( ) { System.out.println("ÔÚBµÄcallme³É Ô± º¯ Êý Àï"); } }
class Abstract { public static void main(String args[]) { A a = new B( ); a.callme( ); a.metoo( ); } }
ÏÂ Ãæ ÊÇ ÔË ÐÐ ½á ¹û£º
C:\>java Abstract ÔÚBµÄcallme³É Ô± º¯ Êý Àï ÔÚAµÄmetoo³É Ô± º¯ Êý Àï
1. Àà ÊÇJavaÓï ÑÔ Ãæ Ïò ¶Ô Ïó ±à ³Ì µÄ »ù ±¾ Ôª ËØ£¬ Ëü ¶¨ Òå ÁË Ò» ¸ö ¶Ô Ïó µÄ ½á ¹¹ ºÍ ¹¦ ÄÜ¡£ 2. Javaͨ ¹ý ÔÚ Àà ¶¨ Òå µÄ ´ó À¨ ºÅ Àï Éù Ã÷ ±ä Á¿ À´ °Ñ Êý ¾Ý ·â ×° ÔÚ Ò» ¸ö Àà À Õâ Àï µÄ ±ä Á¿ ³Æ Ϊ ʵ Àý ±ä Á¿¡£ 3. ³É Ô± º¯ Êý£¬ ÊÇ Àà µÄ ¹¦ ÄÜ ½Ó ¿Ú£¬ ÊÇ Àà ¶¨ Òå Àï µÄ Ò» ¸ö ×Ó ³Ì Ðò£¬ ÔÚ Àà µÄ ¶¨ Òå Àï ºÍ Êµ Àý ±ä Á¿ ´¦ ÓÚ Í¬ Ò» ¼¶ ±ð¡£