Я написал следующий код.Java Puzzler - В чем причина?
class String {
private final java.lang.String s;
public String(java.lang.String s){
this.s = s;
}
public java.lang.String toString(){
return s;
}
public static void main(String[] args) {
String s = new String("Hello world");
System.out.println(s);
}
}
Когда я исполню его, получить следующее сообщение об ошибке
The program compiled successfully, but main class was not found.
Main class should contain method: public static void main (String[] args).
Почему это так? ... хотя основной метод определяется, почему система не читает/признания его?
1) Используйте последовательный и логический отступ для кодовых блоков.Отступ кода предназначен для того, чтобы помочь людям понять поток программы! 2) 'class String {' Не называйте свой класс после существующего класса J2SE. Это, по крайней мере, смущает. 3) Этот класс также, кажется, ничего не делает, кроме того, что может достичь простая строка, основанная на J2SE. В чем его цель? –
Попытка изменить это имя класса на Stringg заставляет его правильно скомпилировать, поэтому это должно быть что-то о повторном использовании имени класса String. –
Если вы когда-либо пишете такую программу в реальной жизни, вы заслуживаете того, чтобы ее шлепали! * :-) –