12-34~37年分類定義、分類の要素


アニメーションタイプの定義
  • のアニメーションを直接作成して使用できます.
  • @interface DateTime {	// @interface 애너테이션이름
       // 타입 요소이름(); 애너테이션의 요소를 선언
       String yymmdd();	// 날짜
       String yymmdd();	// 시간
    }
  • プレゼンテーションの方法は抽象的な方法(実装X)であり、プレゼンテーションを適用する際に(シーケンスX)
  • を指定する.
    アニメーションの定義
    @interface TestInfo {
        int count();
        String testedBy();
        String[] testTools();
        TestType testType();   // enum TestType { FIRST, FINAL }
        DateTime testDate();   // 자신이 아닌 다른 애너테이션(@DateTime) 포함 가능
    }
    アニメーションの使用
    @TestInfo(
        count=3, testedBy="Kim",
        testTools={"JUnit", "AutoTester"},
        testType = TestType.FIRST,
        testDate=@DateTime(yymmdd="210101", hhmmss="235959")
    )
    public class NewClass { ... }
    インパクトファクタ
  • が適用するときに値が指定されていない場合、使用可能なデフォルト値(Null値を除く)
  • を指定できます.
    @interface TestInfo{
        int count() default 1;	// 기본값 지정
    }
    @TestInfo	// @TestInfo(count=1)과 동일. default값이 없으면 (count=1) 필수
    public class NewClass { ... }
    1つの要素
  • のみであり、名前がvalueの場合、その要素の名前
  • を省略することができる.
    @interface TestInfo{
        String value();
    }
    @TestInfo("passed")	// @TestInfo(value="passed")와 동일
    class NewClass { ... }
    要素タイプが
  • の場合は、カッコ{}を使用します.
  • @Interface TestInfo {
        String[] testTools();
    }
    @Test(testTools={"JUnit", "AutoTester"})
    @Test(testTools="JUnit")
    @Test(testTools={})	// 값이 없을 때는 괄호{}가 반드시 필요
    すべてのアニメーションの祖先-java.lang.annotation.Annotation
  • Annotationはすべてのアニメーションの祖先ですが、
  • は継承できません.
  • 実際にAnnotationはインタフェースです.したがって、他の態様のように抽象的な方法は実装されていないが、それらを使用することができる抽象的な方法が含まれる.
  • コメントのタグ付け
  • 要素未定義のアニメーション
  • @Test	// 마커 애너테이션. 이 메서드가 테스트 대상임을 테스트 프로그램에게 알린다.
    public void method() {
    	...
    }
    プレゼンテーション要素のルール
  • 宣言要素を宣言するときは、次のルールを遵守する必要があります.
    -要素のタイプは、基本タイプ、String、enum、補助タイプ、クラスのみを許可します.
    -カッコ()内でパラメータを宣言できません
    -例外なし
    -要素をタイプパラメータとして定義できません.
  • 次のコード
  • のエラー部分を考慮してください.
  • @interface AnnoTest {
        int id = 100;			// OK
        String major(int i, int j);		// Error!! 매개변수 X
        String minor() throws Exception;	// Error!! 예외 X
        ArrayList<T> list();		// Error!! 타입 매개변수 X
    }