2010-01-01 2 views

답변

2

예. main 메소드는 Java의 다른 메소드와 마찬가지로 오버로드 될 수 있습니다. 당신이 이름이 'main', 반환 형식 'void' 및 문자열의 배열의 인수와 정적 메서드를 찾습니다 자바 응용 프로그램을 실행하면 메인 대한

일반적인 선언은

public static void main(String[] args) throws Exception; 

입니다. 즉 당신이 던지는 것은이 방법을 해결하는 데있어 중요하지 않습니다.

오버로드는 동일한 이름이지만 다른 인수 (잠재적으로 반환 유형)가있는 여러 메서드를 제공하고 있습니다.

위의 설명을 통해 우리는 main 메소드를 오버로드 할 수 있습니다. 매우 가능하지만 다른 사람에 의해 말했듯이

+0

main에 대한 일반적인 선언은 "public static void main (String [] args)"은 throws Exception이다. Main은 사용자에게 스택 추적을 표시하는 대신 예외를 올바르게 처리해야합니다! – TofuBeer

1

예. 당신은 main 메소드를 오버로드 할 수 있지만 클래스 실행할 때 방법은 아래에있을 실행합니다 :

public static void main(String[] args) 
5

당신은 main 메소드를 오버로드 할 수 있지만, JVM은 항상 다음과 같은 서명을 주요 방법을 시작할 것 :

Java 언어 사양에 따르면
public static void main(String[] args); 
5

, 실행은 항상 보여

public static void main(String[] args) 

작은 프로그램에서 시작됩니다 :

public class Test{ 

    public static void main(String [] args){ 
     System.out.println("First"); 
     main(); 
    } 

    public static void main(){ 
     System.out.println("Second"); 
    } 
} 

출력 :

 
First 
Second 
-1

예 너는 할 수있어. jvm은 main 메소드와 일치하고 논리적 인 메소드 선언을 살펴볼 때 어느 것을로드해야하는지 알만큼 똑똑합니다. 당신은 'JVM'와 주요 방법은 무엇을 그림과 같이 생각하면 main 메소드 선언의 부분을 완벽하게 이해 (응용 프로그램을 시작) :

  • public을,이 방법은 (JVM에 의해 액세스 할 수 없습니다 수 있어야하기 때문에 당신이 쓴).
  • static이 방법은 객체를 사용하지 않고 액세스 할 수 있음을 의미합니다 (변경 사항이 표시되지 않으므로). 그러나 여기에서 논리는 jvm을 다시 생각하면 쉽게 이해할 수 있습니다. "객체를 생성 (인스턴스화) 할 객체가 없으므로 인스턴스 메서드를 가져 오는 논리적 인 방법이 아직 없기 때문에 정적 메서드가 필요합니다. 아직 개체를 만들 수 없습니다. "
  • void 아무 것도 반환하지 않아이 메서드는 논리적으로 아무 것도 반환 할 수 없습니다. 응용 프로그램의 시작 지점입니다.
  • main 나 없이는 응용 프로그램을 사용할 수없는 주요 방법입니다.
  • String[] args 내 시동에 유용하다고 생각되는 데이터를 보내주십시오.
+0

예 1 년 전, 본질적으로 본 사이트에서 잘려서 SO와 자매 사이트의 올바른 사용과 관련된 질문을하기 때문에 본인의 경험에 심각한 영향을 미친 주제 질문에 대해 1 년 전에 금지되었습니다. 나는 그들에게 연락하여 문제를 제기했지만 아무 일도 일어나지 않았다. 그럼에도 불구하고 나는 당시에 화학 요법을 받고 있었고 주요 뇌 수술에서 회복 중이었다. – thejartender

+0

궁극적으로 화학 요법/뇌 수술은 PITA가 SO 콘텐츠와 관련이 없습니다. 이는 중재자와 개발자가 집중하는 것입니다 (합리적입니다). 당신이 할 수있는 일은 다시 시도하는 것입니다. 나는 당신이 할 것을 제안합니다 - 일어날 수있는 최악은 아무것도 아닙니다. –

+0

그리고 내가받는 응답은 "내 질문 개선"입니다. 어떻게 삭제 된 질문을 개선합니까? – thejartender

0

String을 인수로 사용하는 주된 방법은 프로그램의 기본 입력 지점입니다. 오버로드 할 수는 있지만 프로그램의 진입 점은 변경되지 않습니다.

관련 문제