12-34~37年分類定義、分類の要素
アニメーションタイプの定義のアニメーションを直接作成して使用できます. プレゼンテーションの方法は抽象的な方法(実装X)であり、プレゼンテーションを適用する際に(シーケンスX) を指定する.
アニメーションの定義が適用するときに値が指定されていない場合、使用可能なデフォルト値(Null値を除く) を指定できます.のみであり、名前がvalueの場合、その要素の名前 を省略することができる.の場合は、カッコ{}を使用します. Annotationはすべてのアニメーションの祖先ですが、 は継承できません.実際にAnnotationはインタフェースです.したがって、他の態様のように抽象的な方法は実装されていないが、それらを使用することができる抽象的な方法が含まれる. コメントのタグ付け要素未定義のアニメーション 宣言要素を宣言するときは、次のルールを遵守する必要があります.
-要素のタイプは、基本タイプ、String、enum、補助タイプ、クラスのみを許可します.
-カッコ()内でパラメータを宣言できません
-例外なし
-要素をタイプパラメータとして定義できません. 次のコードのエラー部分を考慮してください.
@interface DateTime { // @interface 애너테이션이름
// 타입 요소이름(); 애너테이션의 요소를 선언
String yymmdd(); // 날짜
String yymmdd(); // 시간
}
アニメーションの定義
@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 { ... }
インパクトファクタ@interface TestInfo{
int count() default 1; // 기본값 지정
}
@TestInfo // @TestInfo(count=1)과 동일. default값이 없으면 (count=1) 필수
public class NewClass { ... }
1つの要素@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@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
}
Reference
この問題について(12-34~37年分類定義、分類の要素), 我々は、より多くの情報をここで見つけました https://velog.io/@oyeon/12-3437-애너테이션-타입-정의-애너테이션의-요소テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol