Java入門教程--帶包的類如何編譯與運(yùn)行
我們一般都是通過IDE(如Eclipse、Intellij Idea,STS等)來開發(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ì)就是文件夾!!
包(Package):用于管理Java類庫的一種有效機(jī)制,提供了一種對(duì)工程中1個(gè)以上的類進(jìn)行層次性、分門別類管理的有效方法。
Java中的包是專門用來存放類的,通常功能相同的類存放在同一個(gè)包中。需要注意的是,包的聲明只能位于Java源文件的第一行。包通過package關(guān)鍵字聲明,示例代碼如下:
package cn.itcast.chapter01; //使用package關(guān)鍵字聲明包
包語句的語法格式為:
package pkg1[.pkg2[.pkg3...]];
帶包的類如何編譯與運(yùn)行
1.編譯帶包的類首先需要配置好環(huán)境變量
這樣才能在cmd命令窗口下運(yùn)行
2.配置好后在此輸入 cmd 回車打開命令窗口
項(xiàng)目文件目錄如下:
Hello World.java內(nèi)容如下,大多數(shù)編程語言的起步學(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打開命令窗口,輸入 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設(shè)計(jì)模式之單例模式學(xué)習(xí)
單例對(duì)象(Singleton)是一種常用的設(shè)計(jì)模式。在Java應(yīng)用中,單例對(duì)象能保證在一個(gè)JVM中,該對(duì)象只有一個(gè)實(shí)例存在2014-01-01利用Java實(shí)現(xiàn)復(fù)制Excel工作表功能
這篇文章主要給大家介紹了關(guān)于如何利用Java實(shí)現(xiàn)復(fù)制Excel工作表功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12@WebFilter在SpringBoot無效的原因分析和解決方案
使用Ruoyi的demo部署成功后,發(fā)現(xiàn)js、css等靜態(tài)文件都進(jìn)入了過濾器,但是發(fā)現(xiàn)靜態(tài)文件沒有使用瀏覽器緩存,新建BrowserCacheFilter.java并增加@WebFilter處理,應(yīng)用自動(dòng)重啟后發(fā)現(xiàn)@WebFilter無效,所以本文給大家介紹了@WebFilter在SpringBoot無效的原因分析和解決方案2024-03-03SpringBoot集成ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)碼播放示例詳解
這篇文章主要為大家介紹了SpringBoot集成ffmpeg實(shí)現(xiàn)視頻轉(zhuǎn)碼播放示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07java開發(fā)中為什么雙重效驗(yàn)鎖要加volatile
這篇文章主要為大家介紹了java開發(fā)中為什么雙重效驗(yàn)鎖要加volatile原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06springboot對(duì)接第三方微信授權(quán)及獲取用戶的頭像和昵稱等等
這篇文章主要介紹了springboot對(duì)接第三方微信授權(quán)及獲取用戶的頭像和昵稱等等,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01基于SpringBoot解決CORS跨域的問題(@CrossOrigin)
這篇文章主要介紹了基于SpringBoot解決CORS跨域的問題(@CrossOrigin),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01