> Java > java지도 시간 > 본문

Java 주석 입력 사례 코드 분석

PHPz
풀어 주다: 2023-04-24 17:13:08
앞으로
1200명이 탐색했습니다.

톡은 싸다, 코드 보여줘

주석 정의

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyLoveForYou {
	String love();
}
로그인 후 복사

클래스 정의

public class Love {
	@MyLoveForYou(love="吾爱亦吾心")
	private String love;
	public String getLove() {
		return love;
	}
	public void setLove(String love) {
		this.love = love;
	}
	//重写 toString() 方法。
	@Override
	public String toString() {
		return "Love [love=" + love + "]";
	}
}
로그인 후 복사

주석 클래스 처리

import java.lang.reflect.Field;

public class ProcessAnnotation {
	private static Love love;
	
	//创建 love 实例
	public static Love getLove(){
		Class<?> clazz = Love.class;
		try {
			Field field = clazz.getDeclaredField("love");
			field.setAccessible(true);
			MyLoveForYou  myLoveForYou = field.getAnnotation(MyLoveForYou.class);
			String fieldLove = myLoveForYou.love();
			try {
				love = (Love)clazz.newInstance();
			} catch (InstantiationException | IllegalAccessException e) {
				e.printStackTrace();
			}
			love.setLove(fieldLove);
		} catch (NoSuchFieldException | SecurityException e) {
			e.printStackTrace();
		}
		return love;
	}
}
로그인 후 복사

Test

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class Test {
	public static void main(String[] args) throws 
	ClassNotFoundException, NoSuchMethodException, 
	SecurityException, InstantiationException, 
	IllegalAccessException, IllegalArgumentException, InvocationTargetException {
	//异常有点多,但是不用担心,其实只有三行代码。
		Love love = ProcessAnnotation.getLove();
		System.out.println(love.getLove());
		System.out.println(love.toString());
	}
}
로그인 후 복사

테스트 결과

Java 주석 입력 사례 코드 분석

간단한 설명은 다음과 같습니다

여기에서는 가장 기본적인 두 가지 메타 주석을 사용하는 매우 간단한 주석 클래스가 사용됩니다(메타 주석은 클래스 속성을 수정 런타임까지 유지을 의미함).
그런 다음 주석을 사용할 수 있습니다. 간단한 사용은 실제로 다음과 같이 매우 간단합니다.

@MyLoveForYou(love="My love is also my heart")@MyLoveForYou(love="吾爱亦吾心")

这里强调以下,单纯的使用注解是没有任何用的,注解需要借助专门的工具处理,这里定义一个简单的处理注解的类(这个类可能需要一点反射的知识,但是也不要紧,如果你只想知道注解的作用,也可以不用管它,记住用法就行了):ProcessAnnotation
다음을 강조합니다. 단순히 주석을 사용하는 것은 특별한 도구로 처리할 필요가 없습니다. 간단한 정의 주석을 처리하기 위한 클래스(이 클래스에는 리플렉션에 대한 약간의 지식이 필요할 수 있지만 중요하지 않습니다. 주석의 기능만 알고 싶다면 그대로 두고 사용법만 기억하면 됩니다): ProcessAnnotationUsage: 이 클래스는 한 가지 작업을 수행합니다. love
에 값을

My love is my heart🎜로 할당합니다. 🎜마지막 단계는 테스트입니다. toString() 메서드는 더 직관적으로 보이도록 여기에서 다시 작성되었습니다. 🎜

위 내용은 Java 주석 입력 사례 코드 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿