메인 메소드에 과부하가 걸릴 수 있습니까? 그렇다면 어떤 방법으로 jvm이 실행을 시작합니까?메인 메소드에 과부하가 걸릴 수 있습니까?
답변
예. main 메소드는 Java의 다른 메소드와 마찬가지로 오버로드 될 수 있습니다. 당신이 이름이 'main
', 반환 형식 'void'
및 문자열의 배열의 인수와 정적 메서드를 찾습니다 자바 응용 프로그램을 실행하면 메인 대한
일반적인 선언은
public static void main(String[] args) throws Exception;
입니다. 즉 당신이 던지는 것은이 방법을 해결하는 데있어 중요하지 않습니다.
오버로드는 동일한 이름이지만 다른 인수 (잠재적으로 반환 유형)가있는 여러 메서드를 제공하고 있습니다.
위의 설명을 통해 우리는 main 메소드를 오버로드 할 수 있습니다. 매우 가능하지만 다른 사람에 의해 말했듯이
main에 대한 일반적인 선언은 "public static void main (String [] args)"은 throws Exception이다. Main은 사용자에게 스택 추적을 표시하는 대신 예외를 올바르게 처리해야합니다! – TofuBeer
예. 당신은 main 메소드를 오버로드 할 수 있지만 클래스 실행할 때 방법은 아래에있을 실행합니다 :
public static void main(String[] args)
당신은 main 메소드를 오버로드 할 수 있지만, JVM은 항상 다음과 같은 서명을 주요 방법을 시작할 것 :
Java 언어 사양에 따르면public static void main(String[] args);
:
방법의 주요 선언해야 , 공공 정적 및 무효. 은 문자열 배열 인 단일 인수를 받아 들여야합니다.
http://java.sun.com/docs/books/jls/third_edition/html/execution.html (12.1.4)
은 그래서, 당신의 과부하 만 public static void main(String[] args)
이 실행됩니다.
, 실행은 항상 보여
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
예 너는 할 수있어. jvm은 main 메소드와 일치하고 논리적 인 메소드 선언을 살펴볼 때 어느 것을로드해야하는지 알만큼 똑똑합니다. 당신은 'JVM'와 주요 방법은 무엇을 그림과 같이 생각하면 main 메소드 선언의 부분을 완벽하게 이해 (응용 프로그램을 시작) :
public
을,이 방법은 (JVM에 의해 액세스 할 수 없습니다 수 있어야하기 때문에 당신이 쓴).static
이 방법은 객체를 사용하지 않고 액세스 할 수 있음을 의미합니다 (변경 사항이 표시되지 않으므로). 그러나 여기에서 논리는 jvm을 다시 생각하면 쉽게 이해할 수 있습니다. "객체를 생성 (인스턴스화) 할 객체가 없으므로 인스턴스 메서드를 가져 오는 논리적 인 방법이 아직 없기 때문에 정적 메서드가 필요합니다. 아직 개체를 만들 수 없습니다. "void
아무 것도 반환하지 않아이 메서드는 논리적으로 아무 것도 반환 할 수 없습니다. 응용 프로그램의 시작 지점입니다.main
나 없이는 응용 프로그램을 사용할 수없는 주요 방법입니다.String[] args
내 시동에 유용하다고 생각되는 데이터를 보내주십시오.
예 1 년 전, 본질적으로 본 사이트에서 잘려서 SO와 자매 사이트의 올바른 사용과 관련된 질문을하기 때문에 본인의 경험에 심각한 영향을 미친 주제 질문에 대해 1 년 전에 금지되었습니다. 나는 그들에게 연락하여 문제를 제기했지만 아무 일도 일어나지 않았다. 그럼에도 불구하고 나는 당시에 화학 요법을 받고 있었고 주요 뇌 수술에서 회복 중이었다. – thejartender
궁극적으로 화학 요법/뇌 수술은 PITA가 SO 콘텐츠와 관련이 없습니다. 이는 중재자와 개발자가 집중하는 것입니다 (합리적입니다). 당신이 할 수있는 일은 다시 시도하는 것입니다. 나는 당신이 할 것을 제안합니다 - 일어날 수있는 최악은 아무것도 아닙니다. –
그리고 내가받는 응답은 "내 질문 개선"입니다. 어떻게 삭제 된 질문을 개선합니까? – thejartender
String을 인수로 사용하는 주된 방법은 프로그램의 기본 입력 지점입니다. 오버로드 할 수는 있지만 프로그램의 진입 점은 변경되지 않습니다.
- 1. 루아의 부울 테스트에 과부하가 걸릴 수 있습니까?
- 2. 뒤틀린 : 반응기에 과부하가 걸릴 경우 성능이 정상적으로 저하됩니까?
- 3. 닫기 호출은 Cocoa의 비동기 IO를 사용하여 영원히 걸릴 수 있습니까?
- 4. mergeChangesFromContextDidSaveNotification 거의 걸릴
- 5. 타입 객체를 일반적인 메소드에 전달할 수 있습니까?
- 6. -dequeueReusableCellWithIdentifier : 메소드에 nil을 제공 할 수 있습니까?
- 7. 레일 : after_create 메소드에 인수를 전달할 수 있습니까?
- 8. 과부하 + = 연산자에 과부하가 걸렸습니까?
- 9. 스레드에서 메인 QT 프로그램을 실행할 수 있습니까?
- 10. ASP.NET을 사용하는 데 얼마나 오래 걸릴 수 있습니까?
- 11. PHP 페이지가 너무 오래 걸릴 때로드를 막을 수 있습니까
- 12. Windows 서비스를 정상적으로 종료하는 데 몇 시간이 걸릴 수 있습니까?
- 13. 왜 Attributes.IsDefined()에 과부하가 누락 되었습니까?
- 14. Ruby에서 클래스/모듈이 = 메소드에 있습니까?
- 15. '0'인수가 과부하가 아닙니다. [C#]
- 16. 메소드에 Java 애매한 유형이 있습니까?
- 17. 과부하가 필요한 최소 연산자 집합은 무엇입니까?
- 18. int 배열을 java의 제네릭 메소드에 전달할 수 있습니까?
- 19. 파이썬의 메소드에 매개 변수로 객체가 아닌 클래스를 전달할 수 있습니까?
- 20. Java 메소드에 대한 참조를 나중에 호출 할 수 있습니까?
- 21. PHP 함수 또는 메소드에 코드를 포함 할 수 있습니까?
- 22. Net :: HTTP 메소드에 대해 더 자세히 알 수 있습니까?
- 23. 클래스의 특정 메소드에 대해 다른 DB에 어떻게 연결할 수 있습니까?
- 24. GUI가 오래 걸릴 때 WaitDialog
- 25. C 메인 대 자바 메인
- 26. Ruby의 url_for 메소드에 해당하는 Javascript가 있습니까?
- 27. 'GridView_RowUpdating'에 대한 과부하가 일치하지 위임 'System.Web.UI.WebControls.GridViewUpdateEventHandler'
- 28. 어떻게 dll에서 메인 폼의 메뉴를 추가 할 수 있습니까?
- 29. 어떻게 델파이 IDE의 메인 폼을 얻을 수 있습니까?
- 30. 어떻게 아이폰 NSthread의 메인 스레드에서 백그라운드 스레드를 멈출 수 있습니까?
음 ... 숙제/퀴즈 질문입니까? – notnoop
나는 그렇게 생각한다 ... 같은 사용자가 게시 한 또 다른 비슷한 질문이있다. –