自定定义注解@MyAnno: 1) 包含一个String类型的属性“type”,不定义默认值。 2) 包含一个int[]数组类型的属性“intArr”,不定义默认值。 3) 此注解只能修饰“方法”。(@Target) 4) 此注解要出现在源码和字节码中。 (@Retention) 5) 定义测试类:TestAnno,随意定义一个成员方法,并使用此注解
时间: 2023-06-13 08:03:58 浏览: 79
自定义Annotation注解
好的,这里是代码:
```
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Retention(RetentionPolicy.CLASS)
@Target(ElementType.METHOD)
public @interface MyAnno {
String type();
int[] intArr();
}
```
测试类:
```
public class TestAnno {
@MyAnno(type = "test", intArr = {1, 2, 3})
public void testMethod() {
System.out.println("This is a test method");
}
public static void main(String[] args) {
TestAnno testAnno = new TestAnno();
testAnno.testMethod();
}
}
```
在这个例子中,我们定义了一个名为 @MyAnno 的注解,并将它应用到了 testMethod() 方法上。我们设置了两个属性:type 和 intArr。注解只能应用到方法上,而不是类、字段或其他元素。在 main() 方法中,我们创建了一个 TestAnno 对象,并调用 testMethod() 方法。当我们运行程序时,它将输出 “This is a test method”,并且在编译时将生成一个包含 @MyAnno 注解的字节码文件。
阅读全文