J2SE 1.5 주석 문법

4333 단어 J22SSEE1155 주
주해 문법 은 어떤 자바 개발 자 에 게 도 잘 알려 져 있 습 니 다.우 리 는 매일@author,@param 등 을 사용 하여 주석 을 작성 한 다음 자바 doc 로 문 서 를 만 듭 니 다.자바 의 이러한 편리 한 문서 생 성 방법 은 개발 자의 보편적 인 찬 사 를 받 았 다.그리고 JDK 1.5 부터 주석 문법 은 더욱 강력 한 기능 을 제공 했다.우 리 는 먼저 주석 문법 자 체 를 이야기 합 니 다.그것 은 가끔 meta-data 라 고도 부 릅 니 다.'데 이 터 를 묘사 하 는 데이터'입 니 다.일반적으로 문 서 를 만 들 고 코드 간 의존 관 계 를 검사 하 며 컴 파일 러 가 문법 검 사 를 하 는 데 도움 을 줄 수 있다.현재 비교적 유행 하 는 도 구 는 Xdoclet 등 이 있다.문서 생 성에 대해 서 는 자바 doc 도구 의 완벽 한 표현 이 있 었 고 코드 검사 에 대해 서도 현재 자바 가 언어 적 지원 을 제공 하고 있 습 니 다.자바 doc 는 자바 소스 파일 의 태그 정 보 를 추출 하여 문 서 를 만 드 는 것 을 알 고 있 습 니 다.그래서 새로운 주석 문법 을 배 우려 면 먼저 새로 추 가 된 라벨 을 익 혀 야 한다.새로운 주석 문법 은 두 가지 탭,시스템 표준 탭 과 사용자 정의 탭 을 지원 합 니 다.태그 의 기호 도 원래 와 같 습 니 다.@기호 에 태그 이름 을 추가 합 니 다.우 리 는 먼저 JDK 1.5 가 가지 고 있 는 표준 라벨 부터 이야기 합 시다.먼저@override 를 소개 합 니 다.더 이상 잔소리 하지 않 아 도 됩 니 다.말 그대로 방법 을 설명 하 는 데 사 용 됩 니 다.우 리 는 하위 클래스 가 부모 클래스 를 덮어 써 야 하 는 방법 이 있다 고 가정 합 니 다.=====================================================================================================public class Parent{public void foo(){System.out.println("Original Implementation of foo");  }   }   public class Child extends Parent{   @Override   public void foo(){   System.out.println("Overide Implementation of foo"); }}======================================================================================================================================================컴 파일 러 는 이 방법 을 검사 한 후에 부모 클래스 에서 이 방법 이 있 는 지 찾 습 니 다.그렇지 않 으 면 컴 파일 오류 가 발생 합 니 다.이 특성 은 우리 가 저급한 실 수 를 피 하 는 데 도움 을 줄 수 있다.위의 예 에서 자 류 는 foo()방법 을 반복 하려 고 하지만,당신 은 그것 을 fob()로 쓰 는 것 을 잠시 소홀히 했 을 수도 있 습 니 다.이러한'저급 오류'에 대해 초기 에 발견 하지 못 했다 면 시스템 통합 테스트 를 할 때 몇 시간,심지어 하루 이틀 동안 이러한 bug 를 찾 을 수 있 습 니 다.이제 됐 습 니 다.컴 파일 러 는 컴 파일 할 때 오류 가 발생 합 니 다.Child.java:3:method does not override a method from its superclass@Override^1 error 어 떻 습 니까?이 기능 은 괜 찮 죠?표준 탭 의 사용 방법 을 보 았 습 니 다.사용자 정의 탭 을 보 겠 습 니 다.먼저@interface 를 소개 합 니 다.새로운 주석 형식(annotation type)을 정의 하 는 데 사 용 됩 니 다.새 주석 형식 을 만 드 는 것 과 정의 하 는 것 은 같 습 니 다.MyTag.java 는 사용자 정의 탭 을 새로 만 드 는 데 사 용 됩 니 다.코드 는 다음 과 같 습 니 다.=====================================================================================================/**사용자 정의 태그??MyTag*/public@interface MyTag{}에서 tag 를 정의 한 후에 우 리 는 모든 자바 파일 에서 이 tag 를 사용 할 수 있 습 니 다.import tiger.annotation.MyTag;==============================================================================================================================================================================================================================================================package tiger.annotation;/**사용자 정의 태그??구성원 변 수 를 가 진 MyTag*/public@interface MyTag{String name();  int age(); }=====================================================================================주석 정 보 를 어떻게 얻 는 지 살 펴 보 자.  =============================================================================   import java.lang.annotation.Annotation;   import tiger.annotation.MyTag;   public class TagTest{   @MyTag(name="MyTag",age=1)   public void test(){   }   public static void main(String[] args){   TagTest tt = new TagTest();   try {   Annotation[] annotation =tt.getClass().getMethod("test").getAnnotations();   for (Annotation tag :annotation) {   System.out.println("Tag is:" + tag);   System.out.println("tag.name()" + ((MyTag)tag).name());   System.out.println("tag.age()" + ((MyTag)(tag)).age());   }   } catch(NoSuchMethodException e) {   e.printStackTrace(); }}=========================================================================================================설명 정 보 는 실행 시간 에 반사 체 제 를 통 해 얻 을 수 있 음 을 나타 낸다.이 탭 에 가입 하지 않 으 면 위의 코드 는 출력 이 없습니다.수정 후의 MyTag 는 다음 과 같다:====================================================================================================멤버 변 수 를 가 진 MyTag*/@Retention(RetentionPolicy.RUNTIME)public@interface MyTag{String name();  int age(); =========================================================================================================================================================================================================법 은 간단 하지만,그러나 주석 정 보 를 얻 은 후에 어떻게 처리 하 는 지 는 확실히 퇴고 할 만하 다.우 리 는 그들 로 문법 검사,문서 관련 성 검사,각종 통 계 를 할 수 있다.더 많은 Tiger 새 주석 문법 에 대한 정 보 는[link=에 접근 할 수 있 습 니 다.http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html]。 위 코드 는 win2k+j2se 5 GA 에서 통과 되 었 습 니 다.

좋은 웹페이지 즐겨찾기