2013-05-20 2 views
4

Я новичок в Java, и я последовавшие инструкциями, однако, когда я получаю в раздел Строки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) 

ответ

5

Поскольку ваш класс называется String, он выводится компилятором как тип аргумента вашего основного метода.

Попробуйте полностью квалифицировать тип аргумента вместо:

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

Или еще лучше, переименовать класс использовать и имя класса, не java.lang.

5

Вы были осторожны, чтобы полностью квалифицировать вашу ссылку на java.lang.String переменной name, но не для параметра mainargs.

Использование

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

Конечно, все это привело, потому что вы назвали ваш класс String, то же имя, как встроенный класс в Java. Возможно, вы могли бы назвать его StringTest? Это позволит избежать беспокойства о столкновении имен классов и полной квалификации встроенного Java String.

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"); 
    } 
} 
6

Если вы настаиваете на использовании строки в качестве имени класса должно быть:

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 хотя ,

+0

Ах, так это вопрос .. сложно! – Coffee

0

почему бы вам не попробовать этот

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

}

Смежные вопросы