public static void main() JAVA 1.7에서 향상됨
1. 클래스에 main()가 없다면
(실행 내용 : Test 실행)
javac Test.java (클래스명 임의로 Test로 설정)
java Test
버전에 따라 아래와 같은 에러가 표출
JAVA 1.6버전(1.7버전 전) : NoSuchMethodError:main
JAVA 1.7버전(1.7버전부터) : Error:Main method not found in class Test, please define main method as public static void main(String[] args)
(1.7버전 이상에서 오류메시지)
오류: test1.test2 클래스에서 기본 메소드를 찾을 수 없습니다. 다음 형식으로 기본 메소드를 정의하십시오.
public static void main(String[] args)
또는 JavaFX 응용 프로그램 클래스는 javafx.application.Application을(를) 확장해야 합니다.
2. main메쏘드 없으나 System.print.Out을 실행시
(클래시 코딩내용)
(결과)
JAVA 1.7부터 main method는 의무적(mandatory)임 -> 클래스가 static 블록이 있어도 실행이 안됨
위의 표에서 처럼
1.6이하 버전에서 main method가 없어도 static block이라는 메시지가 출력되나
1.7이상 버전에서는 실행이 안됨
3. 위의 예에서 System.exit(0)추가 한다면
(클래스 코딩 내용)
(결과)
아래와 같이 JAVA 1.6이하, 1.7이상 버전 컴파일 문제 없음,
JAVA 1.6버전(1.7버전 전) : 컴파일 문제 없음, static block 출력되고 에러 문구 없음
JAVA 1.7버전(1.7버전부터) :
Error:Main method not found in class Test, please define main method as public static void main(String[] args)
4. static과 메인메쏘드를 같이 붙일 때
(코딩 내용)
(결과)
아래와 같이 JAVA 1.6이하, 1.7이상 버전 컴파일 문제 없음, but 출력 순서 같음,
'IT이야기 > JAVA' 카테고리의 다른 글
JAVA의 기본 (0) | 2017.07.25 |
---|---|
[자바의 정석] Chapter8. 예외처리 (0) | 2016.05.06 |
[DURGA 코딩인터뷰] public static void main() 상속/오버로딩/숨김/오버라이딩? (0) | 2016.04.24 |
[자바의 정석] Chapter1. 자바 기본지식 (0) | 2016.04.24 |
[DURGA코딩인터뷰 대비] public static void main(String args[])의 의미 (1) | 2016.04.23 |