2013-04-26 1 views
6

, 그것은처럼 보이는 main 방법을 생성합니다. 제안 된 수정이 void 제거하는 것입니다 : 오히려 경고보다 지금경고 및 오류가 발생하지 않고 Java에서 main (String [] args)를 정의하려면 어떻게합니까?</p> <pre><code>public static void main(String[] args) { } </code></pre> <p>이 즉시 <code>This method has a constructor name</code>을 말한다 경고를 제기 : 내 이클립스 프로젝트의 기본 패키지에 새로운 main.java 파일을 만들 때

public static main(String[] args) 
{ 
} 

을, 오류가 발생합니다 : Illegal modifier for the constructor in type main; only public, protected & private are permitted합니다.

public main(String[] args) 
{ 
} 

이 시간, 난 여전히 오류가 발생하지만, 다른 하나는 말한다 : 나는 static을 제거하면, 내 코드는 지금과 같은 모습

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

Argggh을! 그러나 그것은 내가 시작했던 곳으로 바로 돌아 간다. main 메소드를 정의하여 오류나 경고를 얻지 못하도록하려면 어떻게합니까? 내가 이클립스 주노 서비스 릴리스 2 및 JavaSE-1.7을 사용하고

. Java에 매우 익숙합니다. C# 배경에서 왔습니다. 또한, 이것은 중복 질문 일 가능성이 있지만 찾을 수 없습니다.

+2

클래스도'main'라고 불리는 클래스입니까? –

+1

클래스의 이름으로'main'과 같은 키워드를 사용하면 안됩니다. –

+2

main은 (는) 키워드가 아닙니다. 유일한 대회 – tgkprog

답변

13

는 클래스 main하지만 Main 호출하지 마십시오.

일반적으로 Java 코딩 표준을 따르십시오 : 자본 (main 대신 Main)을 사용하여 클래스 이름을 시작하면 이러한 문제가 발생하지 않습니다.

3

변경 main에서 Main 또는 뭔가 다른 클래스의 이름입니다. 또한 JavaBean API specification 다음에 수업은 CamelCase에 있어야하며 첫 번째 문자는 대문자이어야합니다. 이뿐/JVM을 컴파일러에 대한 문제를 제공하지 않습니다

public class String { 
    public static void main(String[] args) { 
     System.out.println("Try to execute this program!"); 
    } 
} 

:

100 % 예를 String에 대한 질문과 관련,하지만 당신은 자바 JDK 클래스의 이름으로 클래스를 생성하지 않는해야 미래의 독자들에게도 도움이 될 것입니다.

참고 :

public class String { 
    public static void main(java.lang.String[] args) { 
     System.out.println("Try to execute this program!"); 
    } 
} 

심지어 더 나은, 클래스의 이름을 변경 : 단지의 전체 이름을 사용 java.lang.String 클래스를 참조 위의 코드를 수정합니다.

1

자바에서는 클래스 이름과 파일 이름이 일치해야합니다. main.java라는 파일이 있다면 클래스 이름도 Main이어야하며이 경우 생성자 메소드는 main이라는 이름이 붙어 있으므로 main 메소드를 사용할 수 없습니다.

주 이외의 다른 파일과 클래스 이름을 변경

.

5

파일의 이름을 main.java으로 지정하면 클래스의 이름은 main이어야하며 이는 표준 (클래스는 대문자로 시작)이지만 가능합니다. 클래스에서 클래스와 동일한 이름의 메소드는 생성자로 간주됩니다.그래서 문제를 해결하고 클래스와 파일의 표준 이름을 Main (대문자 "M")으로 바꿉니다

관련 문제