Java入門教程--帶包的類如何編譯與運(yùn)行
我們一般都是通過(guò)IDE(如Eclipse、Intellij Idea,STS等)來(lái)開(kāi)發(fā),調(diào)試java項(xiàng)目。在不借助IDE的情況下,如何編譯、運(yùn)行Java程序。打包編譯,這里我又要給大家講解兩個(gè)知識(shí)點(diǎn):1.打包編譯時(shí),會(huì)自動(dòng)創(chuàng)建包目錄,不需要自己新建包名文件夾;2.當(dāng)當(dāng)前目錄有多個(gè)java文件需要編譯或打包編譯時(shí),javac -d . *.java 指令可以給當(dāng)前目錄下的所有 java 文件根據(jù)程序中是否有包聲明進(jìn)行編譯或打包編譯。
包機(jī)制概述
為了更好的組織類,Java提供了包機(jī)制,用于區(qū)別類名的命名空間,防止類名沖突,可以讓類的用戶更讓容易檢索到類。 包的本質(zhì)就是文件夾?。?/strong>
包(Package):用于管理Java類庫(kù)的一種有效機(jī)制,提供了一種對(duì)工程中1個(gè)以上的類進(jìn)行層次性、分門別類管理的有效方法。
Java中的包是專門用來(lái)存放類的,通常功能相同的類存放在同一個(gè)包中。需要注意的是,包的聲明只能位于Java源文件的第一行。包通過(guò)package關(guān)鍵字聲明,示例代碼如下:
package cn.itcast.chapter01; //使用package關(guān)鍵字聲明包
包語(yǔ)句的語(yǔ)法格式為:
package pkg1[.pkg2[.pkg3...]];
帶包的類如何編譯與運(yùn)行
1.編譯帶包的類首先需要配置好環(huán)境變量
這樣才能在cmd命令窗口下運(yùn)行
2.配置好后在此輸入 cmd 回車打開(kāi)命令窗口
項(xiàng)目文件目錄如下:

Hello World.java內(nèi)容如下,大多數(shù)編程語(yǔ)言的起步學(xué)習(xí),輸出Hello World,注意 package com.blb.demo1;
package com.blb.demo1;
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World");
}
} 3.輸入 javac HelloWorld.java 回車進(jìn)行編譯

編譯結(jié)果如下,生成了HelloWorld.class文件

4.此時(shí)的編譯已經(jīng)完成
運(yùn)行class文件需要在包名的上一級(jí)目錄,否則會(huì)報(bào)錯(cuò)

在包目錄的上一級(jí)目錄下輸入cmd打開(kāi)命令窗口,輸入 java com.blb.demo1.HelloWorld (不要加.class后綴)

運(yùn)行成功結(jié)果如下:

總結(jié)
- 1、Java 命令的參數(shù)是"類的完整類名",而不是"文件名"。
- 2、打包編譯時(shí),會(huì)自動(dòng)創(chuàng)建包目錄,不需要自己新建包名文件夾。
- 3、當(dāng)當(dāng)前目錄有多個(gè) java 文件需要編譯或打包編譯時(shí),javac -d . *.java 指令可以給當(dāng)前目錄下的所有 java 文件根據(jù)程序中是否有包聲明進(jìn)行編譯或打包編譯。
- 4、當(dāng)類路徑不在當(dāng)前目錄下時(shí),需要用到 java -cp ...,如:java -cp F:/javaweb/2022 mypack1.java。
- 5、要清楚 java 虛擬機(jī)根據(jù)包聲明包導(dǎo)入執(zhí)行字節(jié)碼文件的流程。
相關(guān)文章
Java通過(guò)PropertyDescriptor反射調(diào)用set和get方法
這篇文章主要為大家詳細(xì)介紹了Java通過(guò)PropertyDescriptor反射調(diào)用set和get方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
SpringBoot?實(shí)現(xiàn)全局異常處理的示例代碼
本文主要介紹了SpringBoot實(shí)現(xiàn)全局異常處理,全局異常處理器的使用可以顯著提高Spring Boot項(xiàng)目的代碼質(zhì)量和可維護(hù)性,減少冗余代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06
Java編寫程序之輸入一個(gè)數(shù)字實(shí)現(xiàn)該數(shù)字階乘的計(jì)算
這篇文章主要介紹了Java編寫程序之輸入一個(gè)數(shù)字實(shí)現(xiàn)該數(shù)字階乘的計(jì)算,本文通過(guò)實(shí)例代碼給大家介紹的非常想詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
SpringBoot項(xiàng)目實(shí)現(xiàn)jar包方式打包部署
SpringBoot默認(rèn)的打包方式就是jar包,本文就來(lái)介紹一下SpringBoot項(xiàng)目實(shí)現(xiàn)jar包方式打包部署,具有一定的參考價(jià)值,感興趣的可以了解一下2024-08-08
使用spring的restTemplate注意點(diǎn)
這篇文章主要介紹了使用spring的restTemplate注意點(diǎn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10
Java中Future和FutureTask的示例詳解及使用
Java中的Future和FutureTask通常和線程池搭配使用,用來(lái)獲取線程池返回執(zhí)行后的返回值,下面這篇文章主要給大家介紹了關(guān)于Java中Future和FutureTask使用的相關(guān)資料,需要的朋友可以參考下2021-11-11
java集合中HashSet LinkedHashSet TreeSet三者異同面試精講
這篇文章主要為大家介紹了java集合中HashSet LinkedHashSet TreeSet三者異同面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
springboot整合mybatis-plus 實(shí)現(xiàn)分頁(yè)查詢功能
這篇文章主要介紹了springboot整合mybatis-plus 實(shí)現(xiàn)分頁(yè)查詢功能,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09
Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(4)
下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你2021-07-07

