>Java >java지도 시간 >Java 주석 입력 사례 코드 분석

Java 주석 입력 사례 코드 분석

PHPz
PHPz앞으로
2023-04-24 17:13:081225검색

톡은 싸다, 코드 보여줘

주석 정의

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으로 문의하시기 바랍니다. 삭제