Java 在Netbeans中找不到主类

Java 在Netbeans中找不到主类,java,netbeans,Java,Netbeans,在本例中,当我将类的名称从尝试更改为其他名称时,它会起作用,但在这里它表示: 错误:无法找到或加载主类abc。正在尝试 /Users/name/Library/Caches/NetBeans/8.2/executor snippets/run.xml:53:Java返回:1 生成失败(总时间:0秒) 为什么会这样? 我在已经提出的任何问题中都没有发现这种情况。您指定了多次尝试 package abc ; class Trying { Trying () { System.out.p

在本例中,当我将类的名称从尝试更改为其他名称时,它会起作用,但在这里它表示:

错误:无法找到或加载主类abc。正在尝试 /Users/name/Library/Caches/NetBeans/8.2/executor snippets/run.xml:53:Java返回:1 生成失败(总时间:0秒)

为什么会这样?
我在已经提出的任何问题中都没有发现这种情况。

您指定了多次尝试

package abc ;   
class Trying
{
Trying ()
{
    System.out.println("hello");
}
        }

public class trying {
public static void main(String[] args) {
    new Trying () ;
}

}

Java是区分大小写的语言,但并没有说明类名是否区分大小写的文档

在eclipse中,它将显示语法错误

类文件冲突:存在具有不同大小写的资源: “/sample/bin/abc/Trying.class”

如果未显示错误,它将仅创建一个类的类文件,要么
尝试
,要么
尝试

1) 如果生成了
Trying
类的类文件,那么它将抛出

错误:在类abc中找不到主方法。正在尝试

因为类
中没有main方法正在尝试
,并且在运行时它正在寻找要启动的main方法

2) 如果生成了
trying
类的类文件,那么它将抛出

线程“main”java.lang.NoClassDefFoundError中出现异常:

在运行时,它在这里寻找类
Trying
,因为它调用了类
Trying
main
。它无法加载,因为它未编译

因此,我们可以得出结论,java不允许两个具有相同名称的类,即使是不同的情况

有关类名区分大小写的详细信息,请参阅


请在不同的情况下使用两个不同的类名,而不是相同的名称在编译时,编译将成功,编译将创建两个名称相同但案例不同的类文件。但是,操作系统只允许一个文件,它只是用第二个文件覆盖第一个文件(首先在编译时创建,然后是第二个文件)。在运行时,您会得到一个运行时错误,因为缺少一个类。因此,请使用不同的名称…

好吧,这个类应该是公共的,并且确保保存文件名,因为类名

类名区分大小写,不是吗
Trying
Trying
是两个不同的类,不是吗?Trying和Trying是不同的类。您使用的是哪个jdk和操作系统?我安装了这个:jdk-8u121-macosx-x64(1)。dmg
package abc;

public class Trying {

    public static void main(String[] args) {

        trying1();

    }

    public static void trying1() {

        System.out.println("Good?!");

    }

}
class Trying
{
    Trying ()
    {
        System.out.println("hello");
    }
}

public class Try_Main {
    public static void main(String[] args) {
        new Trying () ;
    }
}