About Constructor

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

l Constructor:

執行

順序

n 配置參考變數,配置記憶體

n 預設初始化(將該object內所有fields全歸零)

n 明顯初始化(依定義順序執行instance var init及instance(non-static free floating block) init,此動作將與下個動作交叉執行)

n 執行連緒的建構子

u 當程式一直往上呼叫,在回程且跨越class時(從Object回到A class),會先check class A是否有做明顯初始化。

語法

n constructor第一行必須是this(..)或super(..),否則JVM會自己在第一行插入super()。

n this(...)是用來呼叫另一個overloading constructor。使用時必須是constructor的第一行。

n super(...)是用來呼叫父類別的某個constructor,使用時必須是constructor的第一行。

可以

n 方法名稱(Method)可以跟Constructor和Class名稱相同。

n Constructor可以用 public、private、protected、(default)修飾。

n 使用private的影響為避免被實體化(instantiates)。

n 可以overloading constructors來定義一個以上的constructors。

n constructor可以丟出Exception。

不可以

n constructor不能有回傳值、也不能夠被繼承。

n 不能overriding constructors。

n constructor內不可以同時有this(...)或super(...)。

注意

n constructor不會被繼承,如果自己沒有寫constructor,compiler時會加入default constructor ,為一個no parameters and throws no exceptions,其存取權限將與class相同。特別注意,若已定義constructor後,compiler就不會再給default constructor。

n 在繼承的情況下,如果superclass的constructor有定義Exception in the throws clause,那麼他的subclass也必須定義Exception in the throws clause。

来自:【 Garfield 的 SCJP 閱讀筆記 】

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航