>  기사  >  Java  >  Java 주석 Annotaton을 사용하는 방법

Java 주석 Annotaton을 사용하는 방법

WBOY
WBOY앞으로
2023-04-25 17:58:151216검색

1. 세 가지 기본 주석

@Override: 메서드를 제한하려면 상위 클래스 메서드를 재정의합니다. 이 주석은 메서드에만 사용할 수 있습니다.
@Deprecated: 특정 프로그램 요소(클래스, 메서드, 등)은 더 이상 사용되지 않습니다.
@SuppressWarnings: 컴파일러 경고 억제

@Override

class father{
   public void fly(){}
}
class son extends father{
    @Override
    public void fly() {
        super.fly();
    }
}

Interpretation

@Override는 아들이 플라이 메서드

세부 사항

을 재정의한다는 의미입니다. @Override가 없으면 플라이 메서드는 계속 유지됩니다. rewrite

class father{
   public void fly(){}
}
class son extends father{
    public void fly() {
        super.fly();
    }
}

@Override 주석으로 작성된 컴파일러는 메서드가 상위 클래스 메서드를 재정의하는지 여부를 확인하고, 그렇다면 컴파일이 통과됩니다. 다시 작성하지 않으면 컴파일 오류가 발생합니다.

Java 주석 Annotaton을 사용하는 방법

@Override는 메소드만 수정할 수 있으며 다른 클래스, 패키지, 속성 등은 수정할 수 없습니다.

//@Override底层代码
@Target(ElementType.METHOD)//ElementType.METHOD说明@Override只能修饰方法
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}

@Deprecated

public class Deprecatedtext {
    public static void main(String[] args) {
        father father1 = new father();
        father1.fly();
    }
}
@Deprecated
class father{
    @Deprecated
   public void fly(){}
}

Interprecated

@Deprecated는 프로그램 요소(클래스, 메소드 등)가 더 이상 사용되지 않음을 의미합니다. 알림은 단어 중간에 대시로 표시됩니다. 사용을 권장하지 않음을 나타냅니다.

Effect

Java 주석 Annotaton을 사용하는 방법

세부 사항은 메서드, 클래스, 패키지, 매개 변수 등을 수정할 수 있습니다.

//@Deprecated底层代码
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//说明Deprecated能修饰方法,类,包,参数等等
public @interface Deprecated {
}

2 @Deprecated의 역할은 이전 버전과 새 버전 간의 호환성 전환에 역할을 할 수 있습니다

@SuppressWarnings

@SuppressWarnings("all")
class father{
   public void fly(){}
}

Interpretation

@SuppressWarnings 주석을 사용하여 경고 메시지를 억제할 수 있습니다. {""}억제하려는 경고 메시지를 작성하세요

Effect

Java 주석 Annotaton을 사용하는 방법

Java 주석 Annotaton을 사용하는 방법

Details

1과 관련됩니다. 위치를 지정하세요

public class Enumtext {
    @SuppressWarnings("all")//作用范围在main方法
    public static void main(String[] args) {
        father father1 = new father();
        father1.fly();
    }
}
@SuppressWarnings("all")//作用范围在father类
class father{
   public void fly(){}
}

경고 지정 유형은

all, 모든 경고 억제
boxing, 포장/분해 작업 관련 경고 억제
cast, 강제 변형 작업 관련 경고 억제
dep-ann, 관련 경고 억제 지원 중단 주석
지원 중단, 제거와 관련된 경고
fallthrough, 스위치 문에서 break 생략과 관련된 경고 억제
마지막으로 반환되지 않는 finally 블록과 관련된 경고 억제
숨기기, 숨기는 지역 변수와 관련된 경고 억제 변수
incomplete-switch, 스위치 문(enum case)에서 누락된 항목과 관련된 경고 억제
javadoc, javadoc
nls와 관련된 경고 억제, nls가 아닌 문자열 리터럴과 관련된 경고 억제
null, null 값 분석과 관련된 경고 억제
rawtypes , 원시 유형
resource 사용과 관련된 경고 억제, Closeable 유형
제한 리소스 사용과 관련된 경고 억제, 더 이상 사용되지 않거나 금지된 참조
serial 사용과 관련된 경고 억제, 직렬화 가능 범주에서 누락된 serialVersionUID 필드 억제 관련 경고
static-access, 잘못된 정적 액세스와 관련된 경고를 억제
static-method, 정적으로 선언될 수 있는 메서드와 관련된 경고를 억제
super, 슈퍼 호출을 포함하지 않는 대체 메서드와 관련된 경고를 억제
Synthetic-access, 억제 내부 클래스에 대한 최적화되지 않은 액세스와 관련된 경고
sync-override, 동기화 방법 대체로 인해 누락된 동기화에 대한 경고를 억제합니다.
unchecked, 확인되지 않은 작업과 관련된 경고를 억제합니다.
unqualified-field -access, 자격이 없는 필드 액세스와 관련된 경고를 억제합니다.
used, 사용되지 않는 코드 및 비활성화된 코드와 관련된 경고 억제

Java 주석 Annotaton을 사용하는 방법

Meta-annotation

  • Retention은 주석의 범위를 지정하고, SOURCE, CLASS, RUNTIME 세 가지 종류

  • Target은 주석을 사용할 수 있는 위치를 지정합니다

  • Documented는 주석이 javadoc에 반영되는지 여부를 지정합니다

  • Inherited 하위 클래스는 상위 클래스 주석을 상속합니다

Retention

  • RetentionPolicy.SOURCE: 컴파일러가 이를 사용한 후 주석이 직접 삭제됩니다.

  • RetentionPolicy.CLASS: 컴파일러는 클래스 파일에 주석을 기록하고 JVM은 Java를 실행할 때 주석을 유지하지 않습니다.

  • RetentionPolicy.PUNTIME: 컴파일러는 클래스 파일에 주석을 기록하고 JVM은 java

Retention case

@Override 하단 레이어 실행 시 주석 유지(하단 레이어에 진입하기 위한 IDEA의 단축키는 Ctrl+B)

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)//表示@Override在编译器使用后,直接丢弃注释
public @interface Override {
}

Target

Target
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
//   1.CONSTRUCTOR:用于描述构造器
    2.FIELD:用于描述域
    3.LOCAL_VARIABLE:用于描述局部变量
    4.METHOD:用于描述方法
    5.PACKAGE:用于描述包
    6.PARAMETER:用于描述参数
    7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
의 값
대상 케이스

@Deprecated 하단 레이어

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//表示@Documented在这些地方可以写注解
public @interface Deprecated {
}

Documented

Documented 케이스

@Deprecated 하단 레이어

@Documented//@Deprecated代码会被保存到生产的文档中
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
public @interface Deprecated {
}

Inherited

클래스에서 수정한 Annotation은 상속을 받습니다. , 해당 하위 클래스에는 자동으로 이 주석이 포함됩니다

위 내용은 Java 주석 Annotaton을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제