2012-05-08 3 views
3
  1. 클래스 (1)에 생성자 (arg 및 arg가 없음)가 있습니다. 다른 클래스 (2)에서 클래스 1의 객체는 새 생성자()를 사용하여 만들어집니다. 이 경우 main 메소드가 호출됩니까?java main 메서드는 언제 호출됩니까?

  2. 어떤 클래스에서 main 메소드가 호출되는 것이 이상적입니까?

+0

주 : main은 정적이며, 먼저 객체의 'new'를 요구하지 않습니다. –

답변

6

main 정적 방법, 프로그램에 대한 진입 점이며, (당신이 명시 적으로 호출하지 않는 한) 프로그램이 아닌 각 개체 초기화에 시작할 때, 번이라고합니다.

0

클래스 2를 실행하면 (main 메서드를 포함해야 함) main 메서드가 호출됩니다.

0

귀하의 main 메서드는 프로그램 내에 존재하지 않는 프로그램에 의해 호출되며 프로그램을 시작하기 위해 한 번 호출됩니다. 자세한 내용은 here을보십시오. 어디에 놓아야하는지에 관해서는 위치에 대한 실질적인 제한이 없습니다.

main 방법은 두 가지 상황에서라고
5

:이 상태에서 불구하고, main 메소드를 호출 (아마도 다른 클래스에서) 다른 방법으로 응용 프로그램

  • 를 시작하는 자바 가상 머신에 의해

    1. 올바른 자바가 아니므로 모범 사례가 아닙니다.

    main 클래스의 인스턴스 생성시 자동으로 호출되지 않습니다. 정적 메서드로 클래스를 둘러 쌀 필요가 없습니다. 호출 가능하도록 (듯이) 인스턴스화됩니다.

    반면에 생성자 메소드 은 클래스가 생성 될 때 호출되는입니다.

  • +0

    위대한 답변! 나는 네가 내 것보다 훨씬 더 분명하다고 생각한다. – Ewald

    +0

    감사합니다 리치, 내 의심의 여지가있어 – iAmSavy

    3

    모든 클래스는 main 메소드를 가질 수 있습니다. 예를 들어, 클래스 (1) 및 클래스 (2) 클래스는 모두 main 메소드를 가질 수 있지만 프로그램 실행시 한 번만 호출됩니다.

    프로그램을 실행할 때 (예 : java class1) Class (1)의 main 메소드를 사용하여 프로그램을 시작하겠다고 Java에 지시합니다. Java가 각각의 모든 주요 메소드를 실행한다고 생각하기 때문에 혼란 스러울 수 있습니다.하지만 그렇지 않습니다. 일단 자바가 당신이 지정한 클래스에서 메인 메소드를 찾아서 실행했다면, 그것은 당신의 프로그램을위한 메인 메소드를 이미 실행했기 때문에 앞으로 발견 될 main() 메소드를 모두 무시할 것이다.

    main()을 프로그램에 연결하는 문으로 생각하면 컴퓨터가 다시 들어오지 않습니다. 이미 프로그램에 있습니다! 이게 너에게 조금 도움이 되었길 바래.

    +0

    좋은. 나는 문 개념을 좋아했다. – iAmSavy

    +0

    고마워요. 제가 이해할 수있는 유일한 방법입니다. 몇 년 전이 개념 중 일부가 얼마나 투쟁했는지 잊어 버리는 것은 재미 있습니다! 많은 사람들이 서로를 돕는 것을 보는 것이 좋습니다. – Ewald

    관련 문제