成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>開發編程>>JAVA>>新聞內容
HelloWorld常見問題
作者: 發布時間:2003-10-7 14:32:42 文章來源:

不含包層次的HelloWorld.java


public class HelloWorld
{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}


保存在E:\java\src下,使用javac命令編譯:
E:\java\src>javac HelloWorld.java
運行:
E:\java\src>java HelloWorld
屏幕打印出:
Hello World!

初學者常犯的錯誤


  • 1. 運行時,帶了.class后綴
    如果你試圖使用如下命令:
    E:\java\src>java HelloWorld.class
    系統會誤認為你運行的是HelloWorld包下的名為class的類文件,會到系統的CLASSPATH下(一般都包括當前目錄)企圖尋找HelloWorld.class.class這樣的類,這樣的類當然不存在了;并且也不可能存在,因為class是關鍵字,不能作為一個類的名字。所以會報如下錯誤信息:
    Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
  • 2. 文件名大小寫錯誤
    對于像Windows這樣的系統,編譯時可以不關心大小寫。比如編譯HelloWorld.java時,也可以使用:
    E:\java\src>javac helloworld.java
    也可以編譯通過,但產生的類文件仍然是和源文件相符的:HelloWorld.class。
    但在運行時一定要注意大小寫,比如試圖使用如下命令運行:
    E:\java\src>java helloworld
    將報類似于1中的錯誤:
    Exception in thread "main" java.lang.NoClassDefFoundError: helloworld (wrong name: HelloWorld)

包含包層次的HelloWorld.java

比如上面的HelloWorld.java修改如下:
package org.javaresearch;
public class HelloWorld
{
public static void main(String[] args) {
System.out.println("Hello World!");
}
}

編譯時有兩種方法
  • 1. 直接編譯
    E:\java\src>javac HelloWorld.java
    此時在當前目錄下輸出HelloWorld.class。此時,運行不能使用上面相同的方法,使用:
    E:\java\src>java HelloWorld
    運行時,出現如下錯誤:
    Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: org/javaresearch/HelloWorld)
    從上述錯誤信息你也可以看到,系統可以找到HelloWorld類(因為當前路徑包含在CLASSPATH中,具體為什么會提示wrong name,有興趣的朋友參見Java語言規范),但這個類屬于org.javaresearch包。所以,你要做的就是按照上述包層次,相應的創建目錄層次,把上面生成的HelloWorld.class放到E:\java\src\org\javaresearch\目錄下。運行:
    E:\java\src >java org.javaresearch.HelloWorld
    系統打印出:
    Hello World!
    這兒要注意的是,不能使用java org\javaresearch\HelloWorld來運行,此時同樣會出現如下錯誤:
    Exception in thread "main" java.lang.NoClassDefFoundError:org\javaresearch\HelloWorld (wrong name: org/javaresearch/HelloWorld)
    哈哈,是不是有點怪怪的,那沒辦法。以后對Java的包有更深的認識時,就會明白了。
  • 2. 使用 -d <directory>編譯選項
    是不是覺得上面的編譯方法有點麻煩,能不能自動在當前路徑(或任意指定的路徑)下生成包層次呢?有!使用-d <directory>編譯選項就能做到。
    E:\java\src >javac -d . HelloWorld.java
    此時,在當前目錄下就生成了一個org\javaresearch目錄,并且輸出的.class文件也在里面。運行:
    E:\java\src >java org.javaresearch.HelloWorld
    系統打印:Hello World!
    如果你想把生成的類文件集中存放在一個目錄中,比如:E:\java\classes下,那么你首先創建這個目錄,然后編譯時:
    E:\java\src >javac -d E:\java\classes HelloWorld.java
    就可以把生成的類文件放到E:\java\classes目錄下,并且按照包層次相應的創建目錄路徑。你可以在E:\java\classes\org\javaresearch下找到HelloWorld.class文件。此時使用如下命令可以正確運行(注意如果要用到其它類,請在CLASSPATH中設好):
    E:\java\classes >java org.javaresearch.HelloWorld

最新更新
·Java開發技術十年的回顧與展
·關于TOMCAT主目錄與虛擬目錄
·用java程序調用ffmpeg執行視
·JavaBean與Enterprise JavaB
·Java開發人員的十大戒律
·JavaFX Script將終結AJAX?還
·解決IE中所有png圖片透明問題
·JSP解決地址欄中傳遞中文字符
·Eclipse五歲了:Java程序員的
·審查Java代碼的十一種常見錯
相關信息
放生
愚愛
夠愛
觸電
白狐
心跳
知足
犯錯
降臨
分愛
葬愛
光榮
畫心
火花
稻香
愛得起
這種愛
大丈夫
花蝴蝶
二缺一
小酒窩
下雨天
右手邊
安靜了
棉花糖
明天過后
邊做邊愛
擦肩而過
沒有如果
懷念過去
等一分鐘
越來越愛
寂寞暴走
你的承諾
Nobody
我們都一樣
永遠在身邊
天使的翅膀
原諒我一次
i miss you
原諒我一次
吻的太逼真
姑娘我愛你
做你的愛人
一定要愛你
飛向別人的床
愛上別人的人
感動天感動地
心在跳情在燒
不潮不用花錢
如何能把你忘記
即使知道要見面
愛上你是一個錯
最后一次的溫柔
愛上你是我的錯
怎么會狠心傷害我
親愛的那不是愛情
傷心時候可以聽情歌
愛上你等于愛上了錯
不是因為寂寞才想你
主站蜘蛛池模板: 临猗县| 孙吴县| 祁东县| 沙河市| 西昌市| 赤水市| 甘肃省| 禄劝| 三原县| 桃江县| 信宜市| 奈曼旗| 渝北区| 高尔夫| 双辽市| 皮山县| 华亭县| 吴江市| 伽师县| 东明县| 乳山市| 通城县| 安西县| 景洪市| 贡嘎县| 灯塔市| 松桃| 泊头市| 依兰县| 读书| 水城县| 孝感市| 抚远县| 迭部县| 淮阳县| 营山县| 合肥市| 永寿县| 阜康市| 佛教| 鄂托克旗|