阿里巴巴程序筆試題及答案
【問題】如果類A和類B中有靜態變量,靜態語句塊,非靜態變量,非靜態語句塊,構造函數,靜態方法,非靜態方法,同時類A繼承類B,請問當實例化A時,類內部的加載順序是什麼?
【解析】測試代碼如下:
Class B:
public class B{//靜態變量static int i=1;//靜態語句塊static {tln("Class B1:static blocks"+i);}//非靜態變量int j=1;//靜態語句塊static{i++;tln("Class B2:static blocks"+i);}//構造函數public B(){i++;j++;tln("constructor B: "+"i="+i+",j="+j);}//非靜態語句塊{ i++; j++; tln("Class B:common blocks"+"i="+i+",j="+j);}//非靜態方法public void bDisplay(){i++;tln("Class B:static void bDisplay():"+"i="+i+",j="+j);return ;}//靜態方法public static void bTest(){i++;tln("Class B:static void bTest():"+"i="+i);return ;}}
Class A:
public class A extends B{//靜態變量static int i=1;//靜態語句塊static {tln("Class A1:static blocks"+i);}//非靜態變量int j=1;//靜態語句塊static{i++;tln("Class A2:static blocks"+i);}//構造函數public A(){ super();i++;j++;tln("constructor A: "+"i="+i+",j="+j);}//非靜態語句塊{ i++; j++; tln("Class A:common blocks"+"i="+i+",j="+j);}//非靜態方法public void aDisplay(){i++;tln("Class A:static void aDisplay():"+"i="+i+",j="+j);return ;}//靜態方法public static void aTest(){i++;tln("Class A:static void aTest():"+"i="+i);return ;}}
Class ClassLoading :
public class ClassLoading {public static void main (String args[]) {A a=new A();play();}}
程序運行結果如圖:
通過上述示圖,我們可以比較清晰的看出java類的整個加載過程:
1.若要加載類A,則先加載執行其父類B(Object)的靜態變量以及靜態語句塊(執行先後順序按排列的先後順序)。
2.然後再加載執行類A的靜態變量以及靜態語句塊。(並且1、2步驟只會執行1次)
3.若需實例化類A,則先調用其父類B的構造函數,並且在調用其父類B的構造函數前,依次先調用父類B中的非靜態變量及非靜態語句塊.最後再調用父類B中的構造函數初始化。
4.然後再依次調用類A中的非靜態變量及非靜態語句塊.最後調用A中的構造函數初始化。( 並且3、4步驟可以重複執行)
5.而對於靜態方法和非靜態方法都是被動調用,即系統不會自動調用執行,所以用戶沒有調用時都不執行,主要區別在於靜態方法可以直接用類名直接調用(實例化對象也可以),而非靜態方法只能先實例化對象後才能調用。
-
平安銀行招聘考試筆試試題分析
平安銀行201X年筆試試題時間:60分鐘1、A、B、C、D、E五個人在一次滿分爲100分的考試中,得分都是大於91的整數。如果A、B、C的平均分爲95分,B、C、D的平均分爲94分,A是第一名,E是第三名得96分。則D的得分是()。A.96分B.98分C.97分D.99分答案:C解析:【解析】A、B、C的平均...
-
建設銀行筆試知識
導語:對於銀行的筆試內容你瞭解多少?下面就讓小編爲大家介紹一下吧!歡迎閱讀!建設銀行筆試知識——會計學部分基礎知識彙總1、會計的基本職能是:覈算與監督;會計的核算職能是會計最基本的職能,覈算是監督的前提;覈算和監督是相輔相成、密切相連、不可分割的。現代會計...
-
2015畢馬威北京北科大筆試經驗
我11月1日去北科書面考試了。。曩昔的童鞋蠻多的,三四個教室,一個教室100人的姿態吧。。N的有些六個大題,24分鐘。。我覺得蠻簡略的,做完還有幾分鐘查看。。沒有經典裏的標題。有一題傢俬題好像是某年的原題,筆經上的,粗心是給了桌子,椅子的單價,數量和贏利率,然後運算...
-
2017考研筆試答題卡塗寫注意事項
一、各統考科目的選擇題和非選擇題都必須在專用的"答題卡"上作答,如在試卷或草稿紙上作答的,答題無效。二、考生領到答題卡後:①要覈對答題卡張數,要檢查答題卡正反面,如出現字跡模糊、行列歪斜或缺印等現象要立即向監考員報告;②如無上述問題,在答題卡規定的'位...