2013-05-14 4 views
1

나는 그것의 한계를 알고,하지만 난 단지 클래스를 필요에하려는 경우, 내가의 테스트를 위해 특정 크기의 기본 GUI 창을 만들 호출 할 수 있습니다 기본 방법을 과부하하는 것은 나쁜 습관입니까?

public class GUIWindow 
{ 
    static JFrame theGUI = new JFrame(); 

    public static void main(String[] args) 
    { 
     theGUI.setSize(900, 600); 
     theGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     theGUI.setLocationRelativeTo(null); 
    } 

    public static void main(Object obj) 
    { 
     String[] array = new String[1]; 

     main(array); 

     theGUI.setTitle(obj.getClass().getName()); 
    } 

    public static void main() 
    { 
     String[] array = new String[1]; 

     main(array); 

     theGUI.setTitle(null); 
    } 
} 

예를

에 대한 말 여러 응용 프로그램이 괜찮은 일입니까?

+2

그들 중 누구도 유효한 기본 방법이 맞지 않다는 것을 알고 있습니까? 정확히 여기에서 달성하기를 원하십니까? – PermGenError

+0

Java가 다른 메소드를 호출하지 않습니다. 코드의 다른 부분에서 직접 호출 할 계획입니까? –

+0

코드 가독성에 좋지 않습니다. Java는 처음 것 이외의 호출을하지 않으므로 다른 이름의 이름을 변경하지 마십시오. – Farlan

답변

6

public static void main(Sting[] args)은 JVM이 인식 할 수있는 유일한 진입 점입니다. main의 다른 오버로드 (오버라이드는 아님)를 추가 할 수 있지만 이러한 특별한 의미는 없습니다. 일관성이 없으므로 오해의 소지가 있습니다.

메인 클래스의 다형성 인스턴스 생성을 원한다면,이를위한 독립적 인 메소드 패밀리를 추가하십시오. 미리 정의 된 하나의 특수한 방법과 함께 사용하지 마십시오.

1

메인 메서드 public static void main(String args[])을 사용하여 프로그램을 설정하고 프로그램에 들어오는 인수가 유효한지 확인해야합니다. 다른 것은 보통 나쁜 습관으로 간주됩니다. 여기에는 기본 메소드를 "오버로드"하는 것이 포함됩니다.

즉, 장난감 예제 나 테스트를 수행하는 경우 주 방법에서 원하는대로 수행하십시오.

관련 문제