1.4-java入口函式Main和package功能
java入口函式Main和package功能
上一節:1.3-使用整合開發環境編寫一個java程式並執行
下一節:1.5-
前言
上一節介紹了使用idea編寫一個最簡單的java程式。
這一節簡要介紹:main函式,package的概念
一、Main函式
main函式,是java程式執行的入口函式,main函式的寫法為:
public static void main(String[] args) {
//程式程式碼
}
如果你程式碼中沒有main函式,程式將不能獨立的執行起來。
1、在idea中新建工程
在src目錄點右鍵,新建java class JavaGrammar.java
內容為:
public class JavaGrammar {
public static void main(String[] args) {
System.out.println("Hello,你好!");
}
}
滑鼠右鍵 執行(或者按 ctrl + shift + F10):
能正常執行,列印出:
2、沒有main函式會是什麼樣
現在,我們把main改成 xxx,
public class JavaGrammar {
public static void xxx(String[] args) {
System.out.println("Hello,你好!");
}
}
再次滑鼠右鍵,發現,沒有 run *** 的選項,這是因為 idea沒有找main函式,所以沒有提供執行的操作。
開啟cmd,進入JavaGrammar.java所在的目錄,
執行 :javac JavaGrammar.java
如果出現以上錯誤(中文字元編碼問題),則用記事本開啟,另存為,編碼選ANSI,覆蓋儲存。
再次執行javac JavaGrammar.java編譯這個檔案。
然後執行:java JavaGrammar
可見,使用java的命令執行沒有main函式的程式,是不能成功的,會提示找不到main方法。
到此,相信各位對main函式是java程式執行的入口函式,有一定的體會了。
二、體會package的作用
將上面的JavaGrammar.java檔案編碼格式用記事本開啟,另存為 utf-8格式,刪除剛才生成的JavaGrammar.class檔案,將剛才修改的xxx,改回main,idea的工程結構如下:
按 ctrl + shift + F10 執行,
在硬碟上找到JavaGrammar.java,和JavaGrammar.class的位置,分別為:
E:\new\1.4\1.4-JavaGrammar\src
E:\new\1.4\1.4-JavaGrammar\out\production\1.4-JavaGrammar
在idea的src目錄,右鍵-new-package,新建一個包,名稱輸入com然後按回車,再將JavaGrammar.java拖動到com裡,點refactor。
可以看到,在JavaGrammar.java的第一行,多了:
package com;
public class JavaGrammar {
public static void main(String[] args) {
System.out.println("Hello,你好!");
}
}
再次按 ctrl + shift + F10 執行(idea會先執行編譯,然後再執行),在硬碟上找到JavaGrammar.java,和JavaGrammar.class的位置,分別為:
E:\new\1.4\1.4-JavaGrammar\src\com
E:\new\1.4\1.4-JavaGrammar\out\production\1.4-JavaGrammar\com
可以發現,原始碼的位置,和編譯後的位元組碼檔案的位置,都根據包名新增了一級目錄。
在idea中,再次建一個包,選中src,右鍵-new-package,
輸入:com.my.first
回車
然後將JavaGrammar.java拖到first下,可見第一行的包名發生了變化。
執行程式,再次檢查檔案在硬碟上的位置,發現 package com.my.first 將產生3個目錄層級,
做完以上操作,應該能體會到java語言中包的作用:將程式碼按目錄層級進行分類管理。
包的命名通常是根據公司的域名反過來寫,再加上功能模組名組成,比如 阿里巴巴資料庫連線池工具druid的包命名為:com.alibaba.druid.*
相關文章
- main函式的入口函式AI函式
- dll 入口函式函式
- Java——main函式JavaAI函式
- 如何寫好 C main 函式AI函式
- main函式你到底知道多少AI函式
- 匯入jar包,main函式JARAI函式
- C程式起點main函式C程式AI函式
- Vue原始碼: 建構函式入口Vue原始碼函式
- Python中的main函式解析PythonAI函式
- Swift中main函式去哪了?SwiftAI函式
- 第3節 php-src 程式執行之入口函式main定位查詢與gdb偵錯程式1PHP函式AI
- 《golang筆記》第二篇-main入口Golang筆記AI
- main函式返回值的處理AI函式
- windows命令列下如何呼叫main函式Windows命令列AI函式
- Go 應用中 package main 的規則GoPackageAI
- PHP列印呼叫函式入口地址(堆疊),方便調式PHP函式
- WPF啟動流程-自己手寫Main函式AI函式
- Main函式引數argc,argv如何傳入AI函式GC
- C++ main函式命令列引數使用C++AI函式命令列
- C++ 逆向之 main 函式的查詢C++AI函式
- rename函式功能函式
- jQuery功能函式jQuery函式
- 前端函式式功能庫前端函式
- 【C】 33_main 函式與命令列引數AI函式命令列
- [ASM C/C++] C語言的main 函式ASMC++C語言AI函式
- 如何在main函式前後執行程式碼AI函式行程
- iOS APP啟動-Main函式之前的那些事兒iOSAPPAI函式
- C#中Main函式後引數的處理C#AI函式
- C#中含有多個Main函式的處理C#AI函式
- 用zxing 識別二維碼的main函式AI函式
- "vue3-video-play". The package may have incorrect main/module/exports specified in its package.json.VueIDEPackageAIExportJSON
- numpy、pandas常用函式功能函式
- 限制程式功能函式函式
- Rust 問答之如何獲取 main 函式的引數RustAI函式
- 標頭檔案包含方式,main函式的引數解析AI函式
- 從建立程式到進入main函式,發生了什麼?AI函式
- 字元函式、數字函式和日期函式字元函式
- mysql實現oracle的lead和lag函式功能MySqlOracle函式