簡體   English   中英

在Netbeans中找不到主類

[英]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”。

要么

如果沒有顯示錯誤,將創建只有一個類的類文件要么Tryingtrying

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM