第41章测试:Java注解(Annotations)
测试你对Java注解的掌握程度,包括内置注解、自定义注解、元注解和注解处理器
1
以下哪个注解用于标记重写父类的方法?
A. @Deprecated
B. @Override
C. @SuppressWarnings
D. @FunctionalInterface
2
@Retention注解用于指定什么?
A. 注解的应用目标
B. 注解的生命周期
C. 注解是否可继承
D. 注解是否包含在文档中
3
以下哪个RetentionPolicy表示注解在运行时可用?
A. SOURCE
B. CLASS
C. RUNTIME
D. COMPILE
4
创建自定义注解使用哪个关键字?
public _____ MyAnnotation { String value() default ""; }
A. @annotation
B. @interface
C. annotation
D. interface
5
@Target(ElementType.METHOD)表示注解可以应用于?
A. 类
B. 字段
C. 方法
D. 参数
6
通过反射获取方法上的注解,应该使用哪个方法?
A. method.getAnnotation()
B. method.hasAnnotation()
C. method.findAnnotation()
D. method.readAnnotation()
7
@SuppressWarnings("unchecked")的作用是?
B. 抑制未检查的类型转换警告
B. 抑制未检查的类型转换警告
C. 标记方法已废弃
D. 检查方法重写
8
@Documented注解的作用是?
A. 标记注解包含在Javadoc中
B. 标记注解可以被继承
C. 指定注解的生命周期
D. 指定注解的应用目标
9
检查方法是否存在指定注解应该使用?
Method method = clazz.getMethod("testMethod"); if (method._______(MyAnnotation.class)) { // 处理注解 }
A. hasAnnotation
B. isAnnotationPresent
C. containsAnnotation
D. existsAnnotation
10
@FunctionalInterface注解的作用是?
A. 标记接口为函数式接口,确保只有一个抽象方法
B. 标记方法为函数式方法
C. 抑制编译器警告
D. 标记类为函数式类
提交答案
查看详细解析
📝 详细解析
返回章节
下一章:泛型