빈 매개 변수 구조 방법으로 대상을 만들면 간소화할 수 있습니다:Class 대상의 newInstance 방법
Method:메소드 객체
실행 방법:
Object invoke(Object obj, Object... args)
획득 방법 이름:
String getName: 획득 방법명
사례:
요구:'프레임워크'를 작성하여 이 클래스의 어떤 코드도 바꿀 수 없는 전제에서 임의의 클래스의 대상을 만들고 그 중의 임의의 방법을 실행할 수 있습니다.
구현:
구성 파일
반사
단계:
만들어야 할 대상의 전체 클래스 이름과 실행해야 할 방법을 설정 파일에 정의
프로그램에서 읽기 프로필 불러오기
반사 기술을 사용하여 클래스 파일의 메모리를 불러오기
작성 대상
실행 방법
주해
개념: 절차를 설명한다.컴퓨터에 보여준 거
주석: 프로그램을 문자로 설명합니다.프로그래머한테 보여준 거
정의: 메모(Annotation), 메타데이터라고도 합니다.코드 단계에 대한 설명얘는 JDK 1.5 및 이후 버전에 도입된 특성은 클래스, 인터페이스, 매거와 같은 차원이다.패키지, 클래스, 필드, 방법, 국부 변수, 방법 매개 변수 등 앞에서 이 요소들을 설명하고 주석할 수 있다.
개념 설명:
JDK1.5 이후의 새로운 기능
절차를 설명하는
메모 사용: @ 메모 이름
역할 분류:
문서 작성: 코드에 표시된 주석을 통해 문서 생성 [문서 생성doc 문서]
코드 분석: 코드에 표시된 주석을 통해 코드를 분석한다[반사 사용]
컴파일러 검사: 코드에 표시된 주석을 통해 컴파일러가 기본적인 컴파일러 검사를 실현할 수 있도록 한다[Override]
JDK에서 미리 정의된 주석
@Override: 이 주석에 표시된 방법이 부류(인터페이스)에서 계승되었는지 검사
@Deprecated: 이 주석에 표시된 내용은 이미 유행이 지났음을 나타낸다
@SuppressWarnings: 경고 억제
일반 전달 매개 변수all@SuppressWarnings("all")
사용자 정의 메모
형식: 메타 메모public @interface 메모 이름 {속성 목록;}
본질: 주석은 본질적으로 하나의 인터페이스이고 이 인터페이스는 기본적으로 Annotation 인터페이스를 계승한다.
public interface MyAnno extends java.lang.annotation.Annotation {}
속성: 인터페이스의 추상적인 방법
요구 사항:
속성의 반환값 유형은 다음과 같은 값이 있습니다.
기본 데이터 유형
String
열거
주석
이상 유형의 수조
속성이 정의되어 사용 시 속성에 값을 부여해야 합니다
속성을 정의할 때default 키워드를 사용하여 속성의 기본 초기화 값을 사용하면 주석을 사용할 때 속성의 값을 부여하지 않을 수 있습니다.
속성이 하나만 값을 부여해야 하고 속성의 이름이value라면 value는 생략할 수 있고 직접 값을 정의하면 된다.
수 그룹이 값을 부여할 때 값은 {} 패키지를 사용합니다.그룹에 값이 하나만 있으면 {} 생략할 수 있습니다
원 주석: 주석을 설명하는 데 사용되는 주석
@Target: 주해가 작용할 수 있는 위치를 설명한다.
ElementType 수치:
TYPE: 클래스에 사용 가능
METHOD: 방법에 작용할 수 있음
FIELD: 구성원 변수에 작용할 수 있음
@Retention: 주석이 보류된 단계를 설명합니다
@Retention(RetentionPolicy.RUNTIME): 현재 기술된 주석은class 바이트 파일에 보존되고 JVM에서 읽힙니다
@Documented:api 문서에 주석이 추출되었는지 설명
@Inherited: 이불류의 계승 여부를 설명
프로그램에서 사용(해석) 주석: 주석에 정의된 속성 값 가져오기
메모가 정의한 위치를 가져오는 대상(Class, Method, Field)
지정된 메모 가져오기
getAnnotation(Class)//사실 메모리에 이 주석 인터페이스를 생성한 하위 클래스 실현 대상
public class ProImpl implements Pro{
public String className(){
return "cn.itcast.annotation.Demo1";
}
public String methodName(){
return "show";
}
}
주석의 추상적인 방법을 호출하여 설정된 속성 값을 얻기
사례: 간단한 테스트 프레임워크
소결:
이후 대부분의 경우 사용자 정의 주석이 아닌 주석을 사용합니다
주해는 누구에게 쓰입니까?
컴파일러
해석 프로그램에 사용
주석은 프로그램의 일부분이 아니라 주석이 하나의 라벨이라고 이해할 수 있다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다: