java的注釋有哪幾種方式 主類是什么意思,為什么main方法是程序的入口,他是什么邏輯運(yùn)行的?
主類是什么意思,為什么main方法是程序的入口,他是什么邏輯運(yùn)行的?java中main方法是java程序執(zhí)行的入口,會啟動一個主線程,啟動一個main方法,就是創(chuàng)建一個jvm虛擬機(jī),所有的java代碼
主類是什么意思,為什么main方法是程序的入口,他是什么邏輯運(yùn)行的?
java中main方法是java程序執(zhí)行的入口,會啟動一個主線程,啟動一個main方法,就是創(chuàng)建一個jvm虛擬機(jī),所有的java代碼都是都在這個jvm運(yùn)行的。主類就是指帶有執(zhí)行入口main方法的類。java web程序,一般都是把你的web工程部署到web服務(wù)器,web服務(wù)器自己會有個主類,比如tomcat的org.apache.catalina.startup.Bootstrap,啟動的時候就運(yùn)行這個主類的main方法
JAVA在主方法中Thread.sleep()會讓主方法休眠嗎?
在主方法中調(diào)用Thread.sleep()會讓主方法休眠的,我們知道在JAVA中應(yīng)用是通過main方法入口開始啟動的,所以main方法中的線程稱為主線程,如下代碼:
public class A {
public static void main(String[] args) {
System.out.println("我是主線程開始")
Thread.sleep(5000)
System.out.println("我是主線程結(jié)束")
}
}
運(yùn)行上面的代碼時,可以發(fā)現(xiàn)main快速的在控制臺上打印出"我是主線程開始"信息,之后主線程被休眠了,需要在5秒之后才能打印出"我是主線程結(jié)束"信息。
怎樣理解JAVA的“構(gòu)造方法”和“主方法”?
構(gòu)造方法是一個與類同名的方法,對象的創(chuàng)建就是通過構(gòu)造方法完成的。每當(dāng)類實(shí)例化一個對象時,類都會自動調(diào)用構(gòu)造方法。
構(gòu)造方法的特點(diǎn)如下:構(gòu)造方法沒有返回值。構(gòu)造方法的名稱要與本類的名稱相同。
主方法是類的入口點(diǎn),它定義了程序從何處開始;主方法提供對程序流向的控制,Java編譯器通過主方法來執(zhí)行程序。
在主方法的定義中可以看到主方法具有以下特性:
主方法也是靜態(tài)的,所以如要直接在主方法中調(diào)用其他方法,則該方法必須也是靜態(tài)的。主方法沒有返回值。
主方法的形參為數(shù)組。其中args[0]~args[n]分別代表程序的第一個參數(shù)到第n個參數(shù),可以使用args.length獲取參數(shù)的個數(shù)。
java編譯通過,為什么運(yùn)行卻提示找不到或無法加載主類?
因為沒有代碼不能直接判斷出錯誤原因,不過出現(xiàn)這種錯誤一般是以下兩種原因造成的:
1.環(huán)境變量配置不當(dāng)。
查看環(huán)境變量ClassPath的值是否正確,如下圖:
變量值為:
.%JAVA_HOME%lib%JRE_HOME%lib
特別注意是,要用“.”這個配置,它表示當(dāng)前路徑,一定要有。
另外,保存環(huán)境變量以后,一定重新打開一個cmd可執(zhí)行窗口,否則環(huán)境變量不會生效的。
2.代碼中帶有包名
比如下面這段代碼:
編譯以后運(yùn)行就會報錯,如下圖:
只要包名去掉就可以了,如下圖:
再重新編譯一下就可以運(yùn)行了,如下圖:
總結(jié)
以上兩個情況不知道哪個適合你,都可以試試吧,如果還是不行,可以在評論中繼續(xù)問我。