編寫惡作劇的JAVA程式

來源:互聯網
上載者:User

編寫惡作劇的JAVA程式

作者:張桂權

   不知道你有沒有認識到利用java中靜態變數的聲明來編寫“變態”的程式呢!請看下面的程式:

/*

  Hello.java

*/

public void Hello {

  static {

    System.out.println("Hello, world ! /n");

    System.exit(0);

  }

}

    這會讓你吃驚嗎?經過編譯解釋後得到的結果竟然是:

Hello, world !

 

    標準的程式碼應該象下面這樣來寫:

/*

  Hello.java

*/

public void Hello {

  public static void main(String[] args){  

    System.out.println("Hello, world ! /n");

  }

}

       前面一個程式就利用了static的特性來處理靜態變數的聲明和定義。在程式還沒有編譯到(或者說檢測)main函數之前就把記憶體配置了。而她碰到的卻是一個 System.out.println("Hello, world ! /n");語句。所以她就事先處理這個語句。然而進跟著是System.exit(0);語句迫使程式結束,所以main函數的檢測就不再執行了。如果沒有加System.exit(0);語句,那麼你會看到那個令人討厭的“找不到main函數”的警告 !知道了吧 !

       其實,你還可以在static代碼模組中做譬如算術運算,字串處理等一些輕量級層級的代碼操作,但是象圖形介面這樣操作是不能實現的,應為不可能採用靜態方式來處理的。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.