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; } }
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()); } }
간단한 설명은 다음과 같습니다
여기에서는 가장 기본적인 두 가지 메타 주석을 사용하는 매우 간단한 주석 클래스가 사용됩니다(메타 주석은 클래스 속성을 수정 런타임까지 유지을 의미함).
그런 다음 주석을 사용할 수 있습니다. 간단한 사용은 실제로 다음과 같이 매우 간단합니다.
@MyLoveForYou(love="My love is also my heart")
@MyLoveForYou(love="吾爱亦吾心")
这里强调以下,单纯的使用注解是没有任何用的,注解需要借助专门的工具处理,这里定义一个简单的处理注解的类(这个类可能需要一点反射的知识,但是也不要紧,如果你只想知道注解的作用,也可以不用管它,记住用法就行了):ProcessAnnotation
다음을 강조합니다. 단순히 주석을 사용하는 것은 특별한 도구로 처리할 필요가 없습니다. 간단한 정의 주석을 처리하기 위한 클래스(이 클래스에는 리플렉션에 대한 약간의 지식이 필요할 수 있지만 중요하지 않습니다. 주석의 기능만 알고 싶다면 그대로 두고 사용법만 기억하면 됩니다): ProcessAnnotation
Usage: 이 클래스는 한 가지 작업을 수행합니다. love
에 값을
위 내용은 Java 주석 입력 사례 코드 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!