javaÖй¹Ô캯ÊýµÄµ÷ÓÃ˳Ðò
µ±Ò»¸ö¸´ÔӵĶÔÏó±»¹¹Ôìʱ,ËüµÄ¹¹Ô캯Êý°´ÏÂÃæµÄ˳Ðò±»µ÷ÓÃ(that the order of constructor calls for a complex object is as follows)
1.Æä»ùÀà(base-class)µÄ¹¹Ô캯Êý±»µ÷ÓÃ,Õâ¸ö²½ÖèÒԵݹéµÄ·½Ê½Öظ´,ËùÒÔ×îµ×²ã(the root of hierarchy)µÄ¹¹Ô캯ÊýÊ×Ïȱ»Ö´ÐÐ,È»ºóÊÇËüÉÏÒ»²ãÅÉÉúÀà(the next-derived class)...Ö±µ½×î¶¥²ãµÄÅÉÉúÀà(the most-derived class).
The base-class constructor is called. This step is repeated recursively such that the root of the hierarchy is constructed first, followed by the next-derived class, etc., until the most-derived class is reached.)
2.Èç¹ûÓаüº¬¹ØÏµ(composition),ÄÇôËüµÄ³ÉÔ±¶ÔÏó°´ÕÕÉùÃ÷µÄ˳Ðò±»¹¹Ôì.
Member initializers are called in the order of declaration.
3.ÅÉÉúÀ๹Ô캯ÊýµÄÄÚÈÝ(body)±»Ö´ÐÐ.
The body of the derived-class constructor is called.
Ò»¸öʵÀý:
class Cake{
Cake(){System.out.println("Cake()");}
}
class Meal {
Meal() { System.out.println("Meal()"); }
}
class Bread {
Bread() { System.out.println("Bread()"); }
}
class Cheese {
Cheese() { System.out.println("Cheese()"); }
}
class Lettuce {
Lettuce() { System.out.println("Lettuce()"); }
}
class Lunch extends Meal {
Lunch() { System.out.println("Lunch()"); }
}
class PortableLunch extends Lunch {
//if make derived-class object as the menber of the base-class will lead a infinite
//loop and program will stop because of the memory consumed
//private Sandwich s=new Sandwich();
private Cake a=new Cake();
PortableLunch() {&n
Ïà¹ØÎĵµ£º
×÷Õß
Josh Long
ÒëÕß
ËÎçâ
·¢²¼ÓÚ
2010Äê5ÔÂ5ÈÕ ÏÂÎç9ʱ7·Ö
Josh BlochÔÚSun¹«Ë¾¶àÄêΪJavaƽ̨×÷³öÁ˽ܳö¹±Ï×£¨Èç¹ûÄãÓùýJava
Collections¿ò¼Ü¾Í»áÁ˽âÕâÒ»µã£©£¬ÏÖÔÚGoogle¾ÍÖ°£¬ÊÇ»ñ½±Í¼Êé¡¶Effective ......
Java 7ÌṩÁËÒ»¸öÐÂAPI·ÃÎÊÎļþϵͳ£¬µ«³ý´ËÖ®Í⣬JSR 203(NIO.2)»¹°üº¬ÆäËüºÜ¶àÐÂÌØÐÔ£¬Õâ¸öа汾µÄÈ·ÐÂÔöÁ˺ܶà¸ÄÉÆI/O±à³ÌµÄÀ࣬±¾ÎĽ«»á½éÉÜÏÂÃæµÄÐÂÌØÐÔ£º
· SeekableByteChannel£ºËæ»ú·ÃÎÊͨµÀ;
· MulticastChannel£ºÔÊÐíIP¶à²¥µÄͨµÀ;
· NetworkChannel£ºÐµÄÍøÂçͨµÀ³¬¼¶½Ó¿Ú;
· ......
TomcatÊÇÒ»¸ö¿ª·ÅÔ´´úÂë¡¢ÔËÐÐservletºÍJSP WebÓ¦ÓÃÈí¼þµÄ»ùÓÚJavaµÄWebÓ¦ÓÃÈí¼þÈÝÆ÷¡£TomcatÓÉApache-Jakarta×ÓÏîĿ֧³Ö²¢ÓÉÀ´×Ô¿ª·ÅÐÔÔ´´úÂëJavaÉçÇøµÄÖ¾Ô¸Õß½øÐÐά»¤¡£Tomcat ServerÊǸù¾ÝservletºÍJSP¹æ·¶½øÐÐÖ´Ðеģ¬Òò´ËÎÒÃǾͿÉÒÔ˵Tomcat ServerҲʵÐÐÁËApache-Jakarta¹æ·¶ÇұȾø´ó¶àÊýÉÌÒµÓ¦ÓÃÈí¼þ·þÎñÆ÷ÒªºÃ¡£×öÎ ......
·´Éä»úÖÆ
ÌØµã£º¶¯Ì¬»ñÈ¡ÀàÒÔ¼°ÀàÖгÉÔ±¡£
ͨ³£ÔÚ³ÌÐòÀ©Õ¹Ê±£¬»áʹÓø¸Àà»òÕß½Ó¿ÚÍê³É£¬Æäʵ¾ÍÊǶà̬¡£
ÔÚÕâÖÖÇé¿ö£¬ÔËÐÐʱ£¬»¹ÊÇÐèÒª¸øÆä´«µÝÒ»¸ö×Ô¶¨ÒåµÄ×ÓÀà¶ÔÏó¡£ÐèÒª×Ô¼ºnewÀ´Íê³É¡£
ËäÈ»Ð޸͝×÷ÒѾºÜÉÙÁË£¬µ«»¹ÊÇÐèÒªÐ޸IJ¿·Öϸ½Ú¡£
interface Inter{void show();}
class Demo{
  ......
¶øÇÒjavaÌṩµÄÈÝÆ÷ÀàºÜ·½±ã£¬ÊÖ¹¤¹¹ÔìÁËÒ»¿Å¶à²æÊ÷¡£È»ºóÔٵݹé±éÀú¡£ÀàËÆÓÚÖÐÐò±éÀú°É¡£
Ê÷µÄ½ÚµãÀà:
Java´úÂë
package TestTwo;
import java.util.ArrayList;
import java.util.List;
//¶à²æÊ÷µÄ½Úµã &nbs ......