程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中new DerivedClass()時背後發生的事情

Java中new DerivedClass()時背後發生的事情

編輯:關於JAVA

Java中new DerivedClass()時背後發生的事情

(原創 – 邵正軍, 2005-4-5)

class DerivedClass extends BaseClass {…}

new DerivedClass();

1 裝載class

1.1 載入BaseClass , 產生了此處說明的序列步驟(即: [裝載class])的遞歸.

1.2 載入DerivedClass

1.2.1 為類作用域變量分配存儲空間,並賦默認值

1.2.2 調用,這包括: a).聲明類作用域變量並同時賦值的語句 b).包含在 static {…} 中的賦值語句以及其他任何合法語句.c).要說明的是: 以上賦值語句的右值也可以是函數調用,那是合法的.

2 為實例作用域變量分配存儲空間,並賦默認值.

3 調用構造函數***注意: Java規定:構造函數的第一個條語句必須是對super構造函數的調用,如果代碼中不是這樣,會由編譯器自動為其偷偷加上.

3.1 調用super構造函數, 產生了此處說明的序列步驟(即: [調用構造函數])的遞歸.

3.2 調用,這包括:a).聲明實例作用域變量並同時賦值的語句 b).包含在 {…} 中的賦值語句以及其他任何合法語句.c).要說明的是: 以上賦值語句的右值也可以是函數調用,那是合法的.

3.3 執行構造函數中的剩余部分.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved