本帖最后由 蓝色土耳其 于 2019-5-19 10:31 编辑
注解1.注解概念注解就是用于说明程序的。参与程序的运行 JDK1.5版本之后的新特性
2.注解的作用3.常用的注解4.自定义注解格式 - public @interface 注解名称{
本质
注解中的属性
属性(方法)的返回值数据类型
基本数据类型四类八种 String 枚举 注解 以上数据类型的数组
注意事项
元注解
5.解析注解
public class Dog {
public void eat() {
System.out.println("狗吃肉");
}
}
public class Cat {
public void eat() {
System.out.println("猫吃鱼");
}
}
@Target(value = {ElementType.TYPE,ElementType.FIELD,ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface AnimalAnnotation {
String className(); // 记录 全类名
String methodName(); // 记录 方法名
}
@AnimalAnnotation(className = "com.itheima01.Cat",methodName = "eat")
public class Test06 {
public static void main(String[] args) throws Exception{
//获取注解中的属性值
//1.获取Test06类的Class对象
Class<Test06> cls = Test06.class;
//2.通过Class对象来获取注解对象
AnimalAnnotation animal = cls.getAnnotation(AnimalAnnotation.class);
//3.通过注解对象调用属性。来获取属性值
String className = animal.className();
String methodName = animal.methodName();
//通过反射来调用方法
//1.获取Class对象
Class cls2 = Class.forName(className);
//2.获取方法
Method method = cls2.getMethod(methodName);
//3.执行方法
method.invoke(cls2.newInstance());
}
}
|
|