无法在Netbeans中找到主要课程

时间:2017-04-09 13:56:40

标签: java 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 BUILD FAILED(总时间:0秒)

为什么会这样? 在我提出的任何问题中,我都没有找到这样的案例。

4 个答案:

答案 0 :(得分:1)

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

在eclipse中它会显示语法错误

  

类文件冲突:存在具有不同情况的资源:   ' /sample/bin/abc/Trying.class'

OR

如果没有显示错误,它将只创建一个类Tryingtrying的类文件。

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

  

错误:在abc.trying类中找不到主要方法

由于类Trying中没有主方法,因此在运行时它会查找要启动的主方法。

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

  

线程中的异常&#34; main&#34; java.lang.NoClassDefFoundError:

在运行时它会查找类Trying,因为它调用了类main的{​​{1}}。它无法加载未编译的。

因此我们可以得出结论java不允许两个具有sameName的类甚至不同的情况

类名称区分大小写的更多详细信息为here

答案 1 :(得分:0)

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

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

请使用不同名称以外的两个不同的姓名。 编译时,编译将成功,编译将创建两个具有相同名称但不同情况的类文件。但是,操作系统只允许单个文件,它只是覆盖第一个文件(首先在编译时创建,然后在第二个文件中创建)。在运行时,您将收到运行时错误,因为其中一个类不见了。所以,请使用不同的名字......

答案 2 :(得分:0)

好吧,这个课程应该公开 ,并确保将文件名保存为班级名称

答案 3 :(得分:-1)

您已指定多次尝试。

package abc;

public class Trying {

    public static void main(String[] args) {

        trying1();

    }

    public static void trying1() {

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

    }

}