이 글은 java에 대한 관련 지식을 제공합니다. 주로 Annotation에 대한 기본 소개, Annotation에 대한 기본 소개 등을 포함하여 Annotation 및 Meta Annotation과 관련된 문제를 소개합니다. 도움이 되기를 바랍니다. 모든 사람.
추천 학습: "java 비디오 튜토리얼"
Annotation(annotation)은 메타데이터(Metadata)라고도 하며 JDK1.5 이상 버전에서 도입되었습니다. . 패키지, 클래스, 메서드, 속성, 생성자, 지역 변수 등과 같은 데이터 정보를 수정하고 해석하는 데 사용됩니다. 문서를 작성하고, 코드의 종속성을 추적하고, 기본적인 컴파일 타임 검사를 수행하는 데에도 사용할 수 있습니다.
주석은 '@annotation 이름'으로 코드에 존재합니다. 주석 매개변수의 수에 따라 주석을 마크 주석, 단일 값 주석, 전체 주석의 세 가지 범주로 나눌 수 있습니다. 주석과 마찬가지로 주석도 프로그램 논리에 영향을 미치지 않지만 컴파일하거나 실행할 수 있으며 코드에 포함된 보충 정보와 동일합니다.
또한 컴파일 중에 코드의 주석이 소스 코드 수준에만 존재하는지 아니면 클래스 파일이나 런타임(SOURCE/CLASS/RUNTIME)에도 나타날 수 있는지 선택할 수 있습니다.
JavaSE에서 주석을 사용하는 목적은 더 이상 사용되지 않는 기능 표시, 경고 무시 등 비교적 간단합니다. 주석은 애플리케이션의 모든 측면을 구성하는 데 사용되어 이전 버전의 Java EE에 남아 있는 번거로운 코드 및 XML 구성을 대체하는 등 Java EE에서 더 중요한 역할을 합니다.
@Override : 메서드를 제한하는 것은 상위 클래스 메서드를 재정의하는 것입니다 , 이 주석은 메서드에만 사용할 수 있습니다
@Deprecated : 특정 프로그램 요소를 나타내는 데 사용됩니다 ( 카테고리 , 방법 등 ) 오래됨
@SuppressWarnings : 컴파일러 경고 억제
@Override
class Son extends Father{ @Override public void play(){} }
참고:
@Override는 하위 클래스 메서드 재정의를 나타냅니다. 학부모 수업 Play
没有 没有 여기에 쓰지 않으면 @오버라이드 여전히 상위 클래스 ply를 재정의합니다
@Override 주석을 작성하면 컴파일러는 해당 메서드가 실제로 상위 클래스를 재정의하는지 확인합니다 방법, 실제로 다시 작성하면 컴파일이 통과되고, 다시 작성하지 않으면 컴파일 오류가 발생합니다.
@Override는 메서드만 수정할 수 있으며 다른 클래스, 패키지, 속성 등은 수정할 수 없습니다.
@Deprecated
@Deprecated class A{ @Deprecated public static int name = 1; @Deprecated public void play(){ } }
참고:
메서드, 클래스, 필드, 패키지, 매개 변수 등을 수정할 수 있습니다.
호환성을 달성하는 것이 역할 이전 버전과 새 버전 간 전환
@
SuppressWarnings注意: 关于 SuppressWarnings 作用范围是和你放置的位置相关。比如@SuppressWarnings 放置在 main 方法,那么抑制警告的范围就是 main 通过 @SuppressWarnings 的源码可知,其注解目标为类、字段、函数、函数入参、构造函数和函数的局部变量。 ▶ 메타 주석이란: @Override, @Deprecated, @SuppressWarnings ▶ 4가지 메타 -annotations: 지정 주석의 범위, 세 가지 유형: SOURCE, CLASS, RUNTIME 상속: 하위 클래스는 상위 클래스 주석을 상속합니다
▶ 주석 관련 참고 사항:
주석은 소스 코드에만 존재하며 클래스 바이트코드 파일에는 포함되지 않습니다. 기본 보존 정책, 주석은 클래스 바이트코드 파일에 존재하지만 런타임 시 얻을 수 없습니다. C Note는 런타임 시 리플렉션을 통해 얻을 수 있습니다. 먼저 수명 주기 소스 & lt; 런타임을 명확히 해야 합니다. 에서 ①: 일반적으로 실행 중 주석 정보를 동적으로 가져와야 하는 경우 런타임 주석만 사용할 수 있습니다. ②: 일부 보조 코드 생성과 같은 일부 전처리 작업을 컴파일하려는 경우(예: 버터나이프(예: 버터나이프(예: Butterknife ))에는 CLASS 주석을 사용하세요. ③: @Override 및 @SuppressWarnings와 같은 일부 확인 작업을 수행하면 SOURCE 주석을 사용할 수 있습니다. 2. 보존 주석 를 수정하는 데에만 사용할 수 있습니다. 주석 은 더 많은 내용을 유지할 수 있습니다. 오랫동안 @Rentention에는 RetentionPolicy 유형의 멤버 변수가 포함되어 있습니다. @Rentention 을 사용하는 경우 이 RetentionPolicy.SOURCE: 컴파일러를 사용한 후에는 이 전략에 대한 주석을 삭제하세요.
RetentionPolicy.CLASS: 컴파일러는 클래스에 주석을 기록합니다.
파일에
.
달릴 때
자바
시술시간
, JVM
주석은 유지되지 않습니다. 이것이 기본값입니다.
RetentionPolicy.RUNTIME: 컴파일러는 클래스에 주석을 기록합니다
파일 속
.
달릴 때
자바
절차
, JVM
주석은 유지됩니다
.
프로그램은 리플렉션을 통해 이 주석을 얻을 수 있습니다.
은 수정된 주석을 사용하여 수정할 수 있는 프로그램 요소를 지정하는 주석 정의를 수정하는 데 사용됩니다. @Target에는 value라는 멤버 변수도 포함되어 있습니다. @Documented: 이 메타 주석에 의해 수정된 Annotation 클래스가 javadoc 도구에 의해 문서로 추출되도록 지정하는 데 사용됩니다. 즉, 생성된 문서에 주석을 볼 수 있습니다. 참고: @Documented로 정의된 주석은 보존 값을 RUNTIME으로 설정해야 합니다. @Inherited에 의해 수정된 주석이 사용되면 해당 하위 클래스에 자동으로 이 주석이 적용됩니다 추천 학습: "java 동영상 튜토리얼"@SuppressWarnings ("all")
public class word{ }
三、@SuppressWarnings的指定警告类型
关键字
解释
all
抑制所有警告
boxing
抑制与封装/拆装作业相关的警告
cast
抑制与强制转型作业相关的警告
dep-ann
抑制与淘汰注释相关的警告
deprecation
抑制与淘汰的相关警告
fallthrough
抑制与 switch 陈述式中遗漏 break 相关的警告
finally
抑制与未传回 finally 区块相关的警告
hiding
抑制与隐藏变数的区域变数相关的警告
incomplete-switch
抑制与 switch 陈述式(enum case)中遗漏项目相关的警告
javadoc
抑制与 javadoc 相关的警告
nls
抑制与非 nls 字串文字相关的警告
null
抑制与空值分析相关的警告
rawtypes
抑制与使用 raw 类型相关的警告
resource
抑制与使用 Closeable 类型的资源相关的警告
restriction
抑制与使用不建议或禁止参照相关的警告
serial
抑制与可序列化的类别遗漏 serialVersionUID 栏位相关的警告
static-access
抑制与静态存取不正确相关的警告
static-method
선언될 수 있는 메서드와 관련된 경고를 억제합니다. static
super
수퍼 호출 없이 대체 메서드와 관련된 경고를 억제합니다
Synthetic-access
내부 클래스에 대한 최적화되지 않은 액세스와 관련된 경고를 억제합니다
sync-override
대체 동기화 방법 억제 동기화 누락에 대한 경고
ㅋㅋㅋ 접속
미사용
사용하지 않는 코드 및 비활성화된 코드와 관련된 경고를 표시하지 않습니다
4. 메타 주석
1. 기본 소개
설명:
은 주석 정의
값
멤버 변수에 대한 값을 지정해야 합니다(3가지 값이 있음).
설명:
Documented annotation 설명:
5. 상속된 주석설명:
위 내용은 Java 지식 포인트에 대한 자세한 설명: 주석 및 메타 주석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!