A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈小红 中级黑马   /  2012-10-30 15:25  /  1536 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

张老师说java中的注解只有@suppressWarning@override@deprecate。但是我在其它地方看见过@Test,请问这个不是java注解吗?

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

2 个回复

正序浏览
@Test 是JUnit 的注解 用来进行测试的

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1 很给力!

查看全部评分

回复 使用道具 举报
java中可以自己定义注解,你看到的是别人自己定义的注解:

这里贴一个自定义的注解,里面加了点反射,可以往视频后面看,会有的,我贴上来你运行一下
定义注解:AnnotationTest
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.ElementType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter.DEFAULT;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD,ElementType.TYPE})
public @interface AnnotationTest {
String color() default "black";
String value();
}

定义反射中使用注解类   Test
import java.lang.annotation.Annotation;

@SuppressWarnings("deprecation")
@AnnotationTest(color = "red",value ="abc")
class Test
{
@SuppressWarnings("unchecked")
@AnnotationTest(color = "red",value ="abc")//这个注解就是我们自己定义的,可以使用了
public static void main(String[] args)
{
System.runFinalizersOnExit(true);
if(Test.class.isAnnotationPresent(AnnotationTest.class))
{
AnnotationTest annotation = Test.class.getAnnotation(AnnotationTest.class);
System.out.println(annotation.color());
System.out.println(annotation.value());
}
}
}

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马