4

我是 Java 新手,我正在遵循一些说明,但是当我进入字符串部分时

public class String {
    public static void main(String[] args) {
        java.lang.String name;
        name = "luke";
        System.out.println("Hello, " + name + "pleased to meet you");
    }
} 

但我明白了

Error: Main method not found in class String, please define the main method as:
    public static void main(String[] args)
4

5 回答 5

7

如果你坚持使用 String 作为你的类名,它应该是:

public class String {
    public static void main(java.lang.String[] args) {
        java.lang.String name;
        name = "luke";
        System.out.println("Hello, " + name + "pleased to meet you");
    }
} 

我不认为尝试重用定义的类的名称是特别明智的java.lang

于 2013-05-20T20:52:42.853 回答
5

由于您的类名为 String,因此编译器将其推断为 main 方法的参数类型。

尝试完全限定参数类型:

public static void main(java.lang.String[] args) {
...

或者更好的是,将您的类重命名为使用和非 java.lang 类名。

于 2013-05-20T20:52:09.273 回答
5

您小心地完全限定了您对变量的引用java.lang.Stringname而不是args参数 to main

利用

public static void main(java.lang.String[] args) {

当然,这一切都是因为您将 classString命名为与 Java 中的内置类同名。也许你可以命名它StringTest?这将避免担心类名冲突和完全限定 Java 内置的String.

于 2013-05-20T20:52:18.417 回答
2

由于您的班级隐藏了java.lang.String名称,因此您需要编写

public static void main(java.lang.String[] args) {

最好打电话给你的班级StringTest或其他人以避免这种混乱。

public class StringTest {
    public static void main(String[] args) {
        String name = "luke";
        System.out.println("Hello, " + name + "pleased to meet you");
    }
}
于 2013-05-20T20:52:24.670 回答
0

你为什么不试试这个

public class StringFirstTry {
public static void main(String[] args) {
    String name;
    name = "luke";
    System.out.println("Hello, " + name + "pleased to meet you");
}

}

于 2013-05-20T20:56:25.043 回答