如下面的demo
package 注解;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@SuppressWarnings("all")//表明可以修饰类
public class demo01 {
@Override//要重写的方法,不重写要报错的,注解本身也是个类
public String toString() {
return "";
}
@Deprecated//表示被抛弃的方法
public static void test001() {
System.out.println("123");
}
@SuppressWarnings("all")
public static void test002() {
List list1=new ArrayList();
List list2=new ArrayList();
}
@SuppressWarnings("all")
public static void main(String[] args) {
Date a=new Date();
a.parse("123");//被抛弃的方法,可以用@Deprecated来压制
test001();
}
}
//下面是自定义注解的一个demo
package 注解;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
public class MyAnnonation {
@Target(value= {ElementType.METHOD,ElementType.TYPE})//指定该使用域为方法和类型
@Retention(RetentionPolicy.RUNTIME)//表示运行时有效
public @interface myann{//@intereface来声明自定义域
ElementType [] value(); //ElementType []表示参数类型 value表示参数名
}
@Target(value= ElementType.METHOD)//指定该使用域为方法
public @interface myann1{//@intereface来声明自定义域
String value() default "";// default ""表示赋的值,是String类型和前面的类型一致
int age() default 0;
int age1() default -1;//表示不存在的含义
String [] schools() default {"清华大学","河南大学"};//这些都是注解的默认值,如果使用时不声明则使用该默认值
}
}
测试注解demo
package 注解;
import 注解.MyAnnonation.myann1;
public class TestMyAnnation {
@myann1(age=19,age1=20,schools= {"南京大学","郑州大学"})//注解方法,自己可指定参数
public void test(){
}
}
下面是注解知识点的框图