ÔËÐÐʱʵÏÖJavaµÄ¶à̬ÐÔ
ÔËÐÐʱ¶à̬ÐÔÊÇÃæÏò¶ÔÏó³ÌÐòÉè¼Æ´úÂëÖØÓõÄÒ»¸ö×îÇ¿´ó»úÖÆ£¬¶¯Ì¬ÐԵĸÅÄîÒ²¿ÉÒÔ±»Ëµ³É“Ò»¸ö½Ó¿Ú£¬¶à¸ö·½·¨”¡£JavaʵÏÖÔËÐÐʱ¶à̬ÐԵĻù´¡ÊǶ¯Ì¬·½·¨µ÷¶È£¬ËüÊÇÒ»ÖÖÔÚÔËÐÐʱ¶ø²»ÊÇÔÚ±àÒëÆÚµ÷ÓÃÖØÔØ·½·¨µÄ»úÖÆ£¬ÏÂÃæ¾Í¼Ì³ÐºÍ½Ó¿ÚʵÏÖÁ½·½ÃæÌ¸Ì¸javaÔËÐÐʱ¶à̬ÐÔµÄʵÏÖ¡£
¡¡¡¡Ò»¡¢Í¨¹ý¼Ì³ÐÖг¬Àà¶ÔÏóÒýÓñäÁ¿ÒýÓÃ×ÓÀà¶ÔÏóÀ´ÊµÏÖ
¡¡¡¡¾ÙÀý˵Ã÷£º
¡¡¡¡//¶¨Ò峬ÀàsuperA
¡¡¡¡class superA
¡¡¡¡{
¡¡¡¡int i = 100;
¡¡¡¡void fun()
¡¡¡¡{
¡¡¡¡System.out.println(“This is superA”);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡//¶¨ÒåsuperAµÄ×ÓÀàsubB
¡¡¡¡class subB extends superA
¡¡¡¡{
¡¡¡¡int m = 1;
¡¡¡¡void fun()
¡¡¡¡{
¡¡¡¡System.out.println(“This is subB”);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡//¶¨ÒåsuperAµÄ×ÓÀàsubC
¡¡¡¡class subC extends superA
¡¡¡¡{
¡¡¡¡int n = 1;
¡¡¡¡void fun()
¡¡¡¡{
¡¡¡¡System.out.println(“This is subC”);
¡¡¡¡}
¡¡¡¡}
¡¡¡¡class Test
¡¡¡¡{
¡¡¡¡public static void main(String[] args)
¡¡¡¡{
¡¡¡¡superA a;
¡¡¡¡subB b = new subB();
¡¡¡¡subC c = new subC();
¡¡¡¡a=b;
¡¡¡¡a.fun(); (1)
¡¡¡¡a=c;
¡¡¡¡a.fun(); (2)
¡¡¡¡}
¡¡¡¡}
¡¡¡¡ÔËÐнá¹ûΪ£º
¡¡¡¡This is subB
¡¡¡¡This is subC
¡¡¡¡ÉÏÊö´úÂëÖÐsubBºÍsubCÊdz¬ÀàsuperAµÄ×ÓÀ࣬ÎÒÃÇÔÚÀàTestÖÐÉùÃ÷ÁË3¸öÒýÓñäÁ¿a, b, c£¬Í¨¹ý½«×ÓÀà¶ÔÏóÒýÓø³Öµ¸ø³¬Àà¶ÔÏóÒýÓñäÁ¿À´ÊµÏÖ¶¯Ì¬·½·¨µ÷Óá£Ò²ÐíÓÐÈË»áÎÊ£º“Ϊʲô(1)ºÍ(2)²»Êä³ö£ºThis is superA”¡£java µÄÕâÖÖ»úÖÆ×ñÑÒ»¸öÔÔò£ºµ±³¬Àà¶ÔÏóÒýÓñäÁ¿ÒýÓÃ×ÓÀà¶ÔÏóʱ£¬±»ÒýÓöÔÏóµÄÀàÐͶø²»ÊÇÒýÓñäÁ¿µÄÀàÐ;ö¶¨Á˵÷ÓÃ˵ijÉÔ±·½·¨£¬µ«ÊÇÕâ¸ö±»µ÷Óõķ½·¨±ØÐëÊÇÔÚ³¬ÀàÖж¨Òå¹ýµÄ£¬Ò²¾ÍÊÇ˵±»×ÓÀา¸ÇµÄ·½·¨¡£
¡¡¡¡ËùÒÔ£¬²»Òª±»ÉÏÀýÖÐ(1)ºÍ(2)ËùÃÔ»ó£¬ËäȻд³Éa.fun()£¬µ«ÊÇÓÉÓÚ(1)ÖеÄa±»b¸³Öµ£¬Ö¸ÏòÁË×ÓÀàsubBµÄÒ»¸öʵÀý£¬Òò¶ø(1)Ëùµ÷ÓõÄfun()ʵ¼ÊÉÏÊÇ×ÓÀàsubBµÄ³ÉÔ±·½·¨fun()£¬Ëü¸²¸ÇÁ˳¬ÀàsuperAµÄ³ÉÔ±·½·¨fun()£»Í¬Ñù(2)µ÷ÓõÄÊÇ×ÓÀàsubCµÄ³ÉÔ±·½·¨fun()¡£
¡¡¡¡ÁíÍ⣬Èç¹û×ÓÀà¼Ì³ÐµÄ³¬ÀàÊÇÒ»¸ö³éÏóÀ࣬ËäÈ»³éÏóÀ಻ÄÜͨ¹ýnew²Ù×÷·ûʵÀý»¯£¬µ«ÊÇ¿ÉÒÔ´´½¨³éÏóÀàµÄ¶ÔÏóÒýÓÃÖ¸Ïò×ÓÀà¶ÔÏó£¬ÒÔʵÏÖÔËÐÐʱ¶à̬ÐÔ¡£¾ßÌåµÄʵÏÖ·½·¨Í¬ÉÏÀý¡£
¡¡¡¡²»¹ý£¬³éÏóÀàµÄ×ÓÀà±Ø
Ïà¹ØÎĵµ£º
´´½¨ÐÍģʽ
1¡¢FACTORY——×·MMÉÙ²»ÁËÇë³Ô·¹ÁË£¬Âóµ±À͵靈áºÍ¿ÏµÂ»ùµÄ¼¦³á¶¼ÊÇMM°®³ÔµÄ¶«Î÷£¬ËäÈ»¿ÚζÓÐËù²»Í¬£¬µ«²»¹ÜÄã´øMMÈ¥Âóµ±ÀÍ»ò¿ÏµÂ»ù£¬Ö»¹ÜÏò·þÎñԱ˵“À´Ëĸö¼¦³á”¾ÍÐÐÁË¡£Âóµ±ÀͺͿϵ»ù¾ÍÊÇÉú²ú¼¦³áµÄFactory
¹¤³§Ä£Ê½£º¿Í»§ÀàºÍ¹¤³§Àà·Ö¿ª¡£Ïû·ÑÕßÈκÎʱºòÐèҪijÖÖ²úÆ·£¬Ö»ÐèÏò¹ ......
Äú²éѯµÄ¹Ø¼ü´ÊÊÇ£ºnewinstance object initargs ¡£Èç¹û´ò¿ªËÙ¶ÈÂý£¬¿ÉÒÔ³¢ÊÔ¿ìËٰ棻Èç¹ûÏë±£´æ¿ìÕÕ£¬¿ÉÒÔÌí¼Óµ½ËѲء£
(°Ù¶ÈºÍÍøÒ³http://bbs.iaiai.com/forum/read.php?tid=2690µÄ×÷ÕßÎ޹أ¬²»¶ÔÆäÄÚÈݸºÔð¡£°Ù¶È¿ìÕÕ½÷ÎªÍøÂç¹ÊÕÏʱ֮Ë÷Òý£¬²»´ú±í±»ËÑË÷ÍøÕ¾µÄ¼´Ê±Ò³Ãæ¡£)
Ö÷Ìâ : javaµÄ·´Éä ......
javaÖеķâ×°
·â×°£¬Ò»¸ö¶ÔÏóºÍÍâ½çµÄÁªÏµÓ¦µ±Í¨¹ýÒ»¸öͳһµÄ½Ó¿Ú£¬Ó¦µ±¹«¿ªµÄ¹«¿ª£¬Ó¦µ±Òþ²ØµÄÒþ²Ø¡££¨¶ÔÏóµÄÊôÐÔÓ¦µ±Òþ²Ø£©£¬Ò»¸ö¶ÔÏóµÄÄÚ²¿ÊÇ͸Ã÷µÄ£¬¾ÍÊǰѶÔÏóÄÚ²¿µÄ¿É͸Ã÷ÐÔºÍÒþ²ØµÄÌØÐÔÇø·Ö¿ª£¬¸Ã͸Ã÷µÄ͸Ã÷£¬¸ÃÒþ²ØµÄÒþ²Ø¡£
£¨·â×°µÄÊôÐÔ£©javaÖÐÀàµÄÊôÐԵķÃÎÊȨÏÞ ......
1. Ëõ½øÅŰæ(Indentation)
4¸ö¿Õ¸ñ³£±»×÷ΪËõ½øÅŰæµÄÒ»¸öµ¥Î»¡£Ëõ½øµÄÈ·ÇнâÊͲ¢Î´Ïêϸָ¶¨(¿Õ¸ñ vs. ÖÆ±í·û)¡£Ò»¸öÖÆ±í·ûµÈÓÚn¸ö¿Õ¸ñ(ÊÓ¾ßÌåµÄ±à¼Æ÷¶ø¶¨£¬EclipseĬÈÏÒ»¸öÖÆ±í·ûΪ4¸ö×Ö·û)¡£
3.1 Ð㤶È(Line Length)
¾¡Á¿±ÜÃâÒ»Ðеij¤¶È³¬¹ý80¸ö×Ö·û£¬ÒòΪºÜ ......
1. ±à³Ì¹ßÀý(Programming Practices)
9.1 Ìṩ¶ÔʵÀýÒÔ¼°Àà±äÁ¿µÄ·ÃÎÊ¿ØÖÆ(Providing Access to Instance and Class Variables)
ÈôûÓÐ×ã¹»ÀíÓÉ£¬²»Òª°ÑʵÀý»òÀà±äÁ¿ÉùÃ÷Ϊ¹«ÓС£Í¨³££¬ÊµÀý±äÁ¿ÎÞÐèÏÔʽµÄÉèÖÃ(set)ºÍ»ñÈ¡(gotten)£¬Í¨³£Õâ×÷Ϊ·½·¨µ÷ÓõıßԵЧӦ (side effect ......