[英]Could not find main class in Netbeans
package abc ;
class Trying
{
Trying ()
{
System.out.println("hello");
}
}
public class trying {
public static void main(String[] args) {
new Trying () ;
}
}
在這種情況下,當我將類的名稱從Trying更改為其他名稱時,它可以工作,但是在這里它說:
錯誤:找不到或加載主類abc.trying /Users/name/Library/Caches/NetBeans/8.2/executor-snippets/run.xml:53:Java返回:1失敗(總時間:0秒)
為什么會這樣呢? 在已經提出的任何問題中我都沒有找到這種情況。
Java是區分大小寫的語言,但是沒有文檔說明類名是否區分大小寫。
在Eclipse中,它將顯示語法錯誤
類文件沖突:存在不同情況的資源:“ / sample / bin / abc / Trying.class”。
要么
如果沒有顯示錯誤,將創建只有一個類的類文件要么Trying
或trying
。
1)如果生成了Trying
類的類文件,則它將拋出
錯誤:在類abc.trying中找不到主要方法
由於在Trying
類中沒有main方法,因此在運行時它將尋找main方法來啟動。
2)如果生成trying
類的類文件,則它將拋出
線程“主”中的異常java.lang.NoClassDefFoundError:
在這里運行時,它在尋找類Trying
,因為它在被稱為main
類的trying
。 無法加載未編譯的COZ。
所以我們可以得出結論,java不允許兩個具有相同名稱的類,即使大小寫不同
類名區分大小寫的更多詳細信息在這里
class Trying
{
Trying ()
{
System.out.println("hello");
}
}
public class Try_Main {
public static void main(String[] args) {
new Trying () ;
}
}
對於不同的情況,請使用兩個不同的類名,而不是同一名稱。 在編譯時,編譯將成功,並且編譯將創建兩個具有相同名稱但大小寫不同的類文件。 但是,操作系統僅允許一個文件,並且僅覆蓋第一個文件(首先在編譯時創建,然后第二個文件),然后覆蓋第二個文件。 在運行時,您會遇到運行時錯誤,因為缺少其中一個類。 因此,請使用其他名稱...
好吧,該類應該是公共的, 並確保將文件名保存為類Name
您已指定多次嘗試。
package abc;
public class Trying {
public static void main(String[] args) {
trying1();
}
public static void trying1() {
System.out.println("Good?!");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.