2014-09-30 2 views
0

메인 메소드에서 실행이 시작되면 주 클래스 인스턴스 전에 어떻게 수퍼 클래스 인스턴스를 생성 할 수 있으며 메인 클래스 전에 먼저 수퍼 클래스를 초기화해야한다면, 메인 클래스의 슈퍼 클래스가 먼저 파괴되거나 메인 클래스를 먼저 파괴하면 필요한 경우 프로그램에 해를 끼칠 수 있습니까?메인 클래스와 그 수퍼 클래스를 생성하고 파기하는 순서는 무엇입니까

public class Main extends JFrame { 

     public static void main(String args[]){ 

       super("Title of my prog");  // Superclass method 
       //code 
       //code 
      } 

     } 
+0

코드 예제를 제공해 주시겠습니까? – sp00m

+0

괜찮습니다. 내 질문의 거친 코드 ... –

+0

Sub 클래스와 Super 클래스 Super가 있고 Sub 인스턴스를 만들면 * Super *의 * 별도 인스턴스를 만들지 않습니다. 오히려 Sub 인스턴스는 Super 인스턴스의 모든 기능을 통합하므로 Super 인스턴스가 수행 할 수있는 모든 작업을 수행 할 수 있습니다. –

답변

0
JVM이이 프로그램의 실행을 시작하기 전에 메인 클래스의 인스턴스를 생성하지 않으며, 메인 클래스가 될 결코 것이 매우 일반적이다 있도록 mainstatic를해야하는 이유는 정확하게

인스턴스화.

+0

main 메소드가 static으로 선언되지 않았거나 실패한 경우 Superclass의 인스턴스 생성에 실패합니다 거기에 대체? –

+1

'main' 메쏘드가 정적이 아니라면, 그것은 유효한 엔트리 포인트가 아닙니다 (단지'main'라고 불리는 일반적인 메쏘드 일뿐입니다). 정적 진입 점 *에는 수퍼 클래스의 인스턴스가 없습니다. – chrylis

+0

Java 전문가는 아니지만 상속을 볼 때 정적 메서드에는 사용되지 않습니다. 내 말은 정적 메서드가 아무런 의도없이 존재할 수 있기 때문에 누가 내 머리에서 제거되었는지 – MVCDS