麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

HelloWord 編譯方法以及常見錯誤

2019-11-18 13:16:34
字體:
來源:轉載
供稿:網友

  不含包層次的HelloWorld.java
  
  public class HelloWorld{ public static void main(String[] args) { System.out.  
  保存在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.NoClassDefFoundErrorrg/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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美精品成人一区二区在线观看 | 视频一区二区三区在线播放 | 精品国产一区二区三区在线 | 欧美精品成人一区二区在线观看 | 成人羞羞国产免费游戏 | 国产成人小视频在线观看 | 91短视频在线观看视频 | 成人免费乱码大片a毛片视频网站 | av免费在线不卡 | 亚洲国产超高清a毛毛片 | 成人性视频在线 | 久久久免费观看完整版 | 99re久久最新地址获取 | 久久婷婷一区二区三区 | 失禁高潮抽搐喷水h | 国产品久久 | 亚洲精品一区二区三区在线看 | 91成人一区二区三区 | 久夜tv| 黑人一区二区三区四区五区 | 草草视频免费观看 | 亚洲一区二区中文字幕在线观看 | 毛片大全在线观看 | 国产欧美精品一区二区三区四区 | 一级毛片在线观看免费 | 亚洲一区二区免费视频 | 中文字幕精品久久 | 午夜爽爽爽男女免费观看hd | 天天操天天骑 | 亚洲国产超高清a毛毛片 | 成人富二代短视频 | 久久影院免费观看 | 国产九色在线观看 | 久久久久国产一区二区三区不卡 | 久久国产精品成人免费网站 | 九色免费视频 | 3344永久免费 | 黄色一级片毛片 | 免费毛片小视频 | 日韩电影一区二区三区 | 成年性羞羞视频免费观看 |