MST
星途 面试题库

面试题:Java注解:自定义注解及使用

请你自定义一个Java注解,用于标记方法是否需要进行权限验证。然后编写一个包含该注解的方法,并在另一个类中使用反射获取该方法上的注解信息,判断是否需要进行权限验证。
38.5万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试
  1. 定义权限验证注解
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.METHOD)
public @interface NeedPermission {
}
  1. 编写包含注解的方法
public class Service {
    @NeedPermission
    public void doSomething() {
        System.out.println("执行需要权限验证的操作");
    }
}
  1. 使用反射获取注解信息并判断
import java.lang.reflect.Method;

public class Main {
    public static void main(String[] args) throws NoSuchMethodException {
        Service service = new Service();
        Method method = service.getClass().getMethod("doSomething");
        if (method.isAnnotationPresent(NeedPermission.class)) {
            System.out.println("该方法需要进行权限验证");
        } else {
            System.out.println("该方法不需要进行权限验证");
        }
    }
}