이 글은 주로 Java @interface 주석 관련 정보와 예시를 소개하고 있습니다. 필요한 친구들은 참고하시면 됩니다.
java @interface 주석 세부 사항 및 예시
1 소개
Java에서 주석을 실제로 정의하는 것은 인터페이스를 정의하는 것과 거의 같습니다. 인터페이스 앞에 @ 기호만 추가하면 됩니다. 즉, @interface Zhujie{ }는 @Zhujie라는 주석을 정의했음을 나타냅니다. 주석의 각 메소드는 이 주석 유형의 요소를 정의합니다. 특별한 주의: 주석의 메소드 선언에는 매개변수가 포함되어서는 안 되며 메소드의 반환 값이 단순 유형으로 제한될 수도 없습니다. href=" http://www.php.cn/wiki/57.html" target="_blank">문자열, 수업, emnus, 댓글 및 이러한 유형은 배열이지만 메서드는 기본값을 가질 수 있습니다.
주석은 일종의 표시와 같습니다. 프로그램에 주석을 추가하는 것은 프로그램에 특정 표시를 추가하는 것과 같습니다. JAVAC 컴파일러, 개발 도구 및 기타 프로그램은 반사 메커니즘을 사용하여 클래스와 다양한 기능을 이해할 수 있습니다. 요소에 표시가 있습니까? 표시가 발견되면 해당 작업을 수행하십시오. 예를 들어, 사용이 권장되지 않는 일부 클래스, 메소드 및 필드에 @Deprecated를 표시할 수 있으며 누군가 이를 사용하는 경우 경고가 표시됩니다.
2 메타 주석
@Retention 주석은 주석의 주석이며 메타 주석이라고 불리는 주석을 수정하는 데 사용할 수 있습니다. Retention 주석에는 RetentionPolicy 유형의 속성 값이 있고 Enum RetentionPolicy는 열거형은 Retention 주석이 작동되는 방식을 결정합니다. 이는 RententionPolicy와 함께 Rentention을 사용하는 것으로 이해될 수도 있습니다. RetentionPolicy에는 CLASS, RUNTIME 및 SOURCE의 세 가지 값이 있습니다.
@Retention(RetentionPolicy.CLASS)으로 수정된 주석은 프로그램 컴파일 시 주석 정보가 클래스 파일(바이트코드 파일)에 유지됨을 나타냅니다. , 그러나 런타임 시 가상 머신에서 읽히지 않습니다.
@Retention(RetentionPolicy.SOURCE)으로 수정된 주석은 주석이 달린 정보가 컴파일러에 의해 삭제되지 않음을 나타냅니다. 클래스 파일에 남고, 주석 정보는 소스 파일에만 남게 됩니다.
@Retention(RetentionPolicy.RUNTIME)으로 수정한 주석은 주석 정보가 유지된다는 의미입니다. in 클래스 파일(바이트코드 파일)에서는 프로그램이 컴파일될 때 런타임 시 가상 머신에 의해 유지됩니다.
3 사용 예
먼저 간단한 주석을 만듭니다.
public @interface Coder { int personId(); String company() default "[unassigned]"; }
주석이 정의된 후 이를 사용하여 주석 선언을 만들 수 있습니다. 주석은 다른 수정자에서 사용되는 특수 수정자입니다(예: public, static 또는 최종 등) 주석은 어디에서나 사용할 수 있습니다. 관례적으로 주석은 다른 수정자 앞에 배치되어야 합니다. 주석은 @ 기호, 주석 유형의 이름, 그 뒤에 주석의 요소나 메소드를 나열하는 괄호로 선언됩니다. 키-값 쌍, 여기서 값은 상수. 예:
@coder(personId=20151120,company="YeePay")
요소나 메소드가 없는 주석을 "마커" 유형이라고 합니다. 예:
public @interface Coder {}
마크 주석을 사용할 때 뒤에 오는 괄호를 생략할 수 있습니다. 주석에 요소가 하나만 포함된 경우 요소 이름은 value여야 합니다. 예:
public @interface Coder { String value(); }
요소 이름이 value인 경우 이 주석을 사용할 때 요소 이름과 등호 생략할 수 있습니다. 예:
@Coder("YeePay")
위 내용은 Java의 @interface 주석에 대한 자세한 설명 및 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!