一道關於載入順序的題目分析

2021-06-21 07:20:30 字數 1480 閱讀 5860

package com.gt.world.oa.aaa;

/** *

* @author gt

*/public class test20140331

static

public test20140331(string str)

private static int print(string str)

public static void main(string args) }

/** *

* 1 程式從main函式開始執行 ,執行main函式,需要先載入class檔案

* 2 載入class檔案的同時,同時初始化static成員變數和static塊,執行順序為從上到下依次執行

* 3 載入class完成之後,初始化成員變數。注:普通**塊,可以看作成員變數,執行順序為從上到下依次執行

* 4 上面的過程完成之後,再從main函式的第一條語句開始執行。

* 5 注:靜態成員變數和靜態**塊只會 在載入class檔案的時候 執行一次

*//**

* public static test20140331 t1 = new test20140331("t1");

* 1> 1:j i=0 n=0

* 2> 2:構造塊 i=1 n=1

* 3> 3:t1 i=2 n=2

* * public static test20140331 t2 = new test20140331("t2");

* 4> 4:j i=3 n=3

* 5> 5:構造塊 i=4 n=4

* 6> 6:t2 i=5 n=5

* * public static int i = print("i");

* 7> 7:i i=6 n=6

* * public static int n = 99;

* 8> n=99

* * static

* 9> 8:靜態塊 i=7 n=99

* * test20140331 t = new test20140331("init");

* 10> 9:j i=8 n=100

* 11> 10:構造塊 i=9 n=101

* 12> 11:init i=10 n=102

* * * test20140331 t = new test20140331("init2");

* 13> 12:j i=11 n=103

* 14> 13:構造塊 i=12 n=104

* 15> 14:init2 i=13 n=105

* */

一道關於例項化順序的題目

public class basea public basea public virtual void myfun public class baseb basea public baseb public new void myfun static class program public clas...

360一道關於this的題目

原題目是這樣子的 window.val 1 var obj 說出下面的輸出結果 obj.dbl var func obj.dbl func this呢其實就是這樣,分清楚呼叫就好了。obj中的沒有指定呼叫。預設從函式中查詢。如果沒有則往上一級查詢。所以 上面的式子可以寫成這樣 window.val ...

一道關於HashSet的題目

試寫出下列 的執行結果 hashset set newhashset person p1 newperson 1001 aa person p2 newperson 1002 bb set.add p1 set.add p2 p1.name cc set.remove p1 system.out.p...