2011-11-04 5 views
1

이 .... 우리가 자바의 주요 기능을 무시할 수있는 방법을자바에서 메인 서비스를 "오버라이드"하는 목적은 무엇입니까?

public class animaltest 
{ 
    public static void main(String[] args) 
    { 
     horse h = new horse(); 
     h.eat(); 
    } 
} 

public class inheritmain extends animaltest 
{ 
    public static void main(String[] args) 
    { 
     System.out.print("main overrided"); 
    } 
} 

하지만 주요 오버라이드 (override)의 이점은 무엇인가?

+0

감사합니다! 정말 좋은 컨셉을 배워야 해. –

답변

7

static 메서드는 재정의하지 않습니다. 그림자 처리됩니다. 이 경우 두 가지 다른 정적 메서드 즉, animaltest.maininheritmain.main이 있습니다.

: - 어떤 ;-) 경우 - 프로그램이 시작될 수/에서 실행 두 클래스로 하나 클래스는 main method을 구현한다

은 "장점"(Can we override static method in Java? 참조) 주 방법은 C 및 C++의 main 함수와 유사합니다. 이것은 응용 프로그램의 진입 점이며 이후에 프로그램에서 요구하는 다른 모든 메소드를 호출합니다.

해피 코딩.

2

오버라이드는 STATIC 함수가 아니며 오버라이드는 정적이 아닌 멤버 함수에만 적용됩니다.

이 경우, 아니오 POLYMORPHIC이 표시됩니다.

0

처음에는 어떤 클래스에서든 main을 상속받지 않기 때문에 Java에서 main을 재정의 할 수 없다고 생각합니다. 그러므로 무시할 것이 없다.

관련 문제