面试题答案
一键面试-
自定义注解:
- 在Java中,使用
@interface
关键字来定义注解。以下是一个简单的自定义注解示例:
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) public @interface MyAnnotation { }
@Retention(RetentionPolicy.RUNTIME)
表示该注解在运行时可用。@Target(ElementType.TYPE)
表示该注解可以应用在类上。
- 在Java中,使用
-
创建注解处理器:
- 编写一个类作为注解处理器,通过反射获取使用了注解的类名并打印。
import java.lang.reflect.AnnotatedElement; public class MyAnnotationProcessor { public static void process(AnnotatedElement element) { if (element.isAnnotationPresent(MyAnnotation.class)) { System.out.println("使用了MyAnnotation注解的类名: " + element.getSimpleName()); } } }
-
使用示例:
- 定义一个类并使用自定义注解,然后调用注解处理器。
@MyAnnotation public class TestClass { public static void main(String[] args) { MyAnnotationProcessor.process(TestClass.class); } }
- 在上述
TestClass
类中,使用了@MyAnnotation
注解,然后在main
方法中调用MyAnnotationProcessor.process(TestClass.class)
来处理该类,从而打印出使用注解的类名。