歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 下JDK1.4與JDK1.6的區別實例解析

Linux 下JDK1.4與JDK1.6的區別實例解析

日期:2017/2/28 16:51:28   编辑:Linux教程

在 Linux 下用 jdk 1.6 寫了個程序,編譯打包後,一切正常,拿到 win 下,同樣是 1.6 的jdk,居然說什麼不兼容的編譯類型,非法的 magic number.

只好在 Linux 下用 jdk 1.4.2 這個經典的版本重新編譯一下,結果就發現了下面兩個不同:1. 在 1.4.2 中, assert 是 keyword ,不可以 assert (boolean expression):(String) 這樣來用,而在 1.6 中是可以的。

在 1.4.2 下編譯時,會給出warning: as of release 1.4, assert is a keyword, and may not be used as an identifier,並且會報錯,說是分號的錯誤(其實是編譯器把 assert 當作 identifier 來處理報的錯)。

2. 在 1.4.2 中,不可以如下這樣來 override clone() 方法

public NewClass clone(){

...

return NewClass;

}

這在 1.6 中是允許的,也是方便的。

在 1.4.2 中只能

public Object clone(){

...

return ...;

}

於是就有了 N 多的強制類型轉換。

Copyright © Linux教程網 All Rights Reserved