您的位置:首页 > 编程语言 > Java开发

Java 注解

2016-07-20 18:08 477 查看
很多人一看到注解就觉得很简单,里面无非就是单行注释,多行注释等内容!如果这样认为,请静下心来,其实这里面还有是一点技术,如果你想学学怎么用注解,提升自己的逼格,让自己更加专业一点,让老本更加欣赏你!那么,搬个小板凳过来…… ->_-> ……

(重点:自定义注解,利用自定义注解解决问题!)

{学习前提:掌握类中方法的反射 ,如不会,请看反射(reflect)篇}

为什么使用注解

读懂别人的代码,特别是框架型的spring,mybits等;

让编程更加简洁,代码更加清晰

让别人高看自己

 

逼格分:使用注解—>自定义注解,尽量会使用自定义注解

Java中提供了一种原程序中的元素关联任何信息和任何元数据动态途径和方法! 

 

常见注解

JDK自带的注解

继承型 @Override

自定义使用@Deprecated该注解表示方法不适合所有对象;使用时需要声明一下才能使用;

忽略警告型的@SuppressWarnings(“Unchecked”)@Suppress Warnings(“Deprecated”);

第三方注解

例如:

Spring框架中的: @Autowired、 @Service、 @Repository

Mybatis框架中的: @InsertProvider、 @UpdateProvider 、@Options

此处省略介绍,如需要,转到框架中学习相关的东西;

注解分类

按照运行机制分类:

原码注解

编译时注解(@Override、@Deprecated、@Suppress Warnings)

运行时注解(@Autowired等)

按照来源划分

JDK注解

第三方注解

自定义注解

注解:给注解进行注释的注解 

自定义注解

语法、元注解、自定义注解的使用、解析注解

语法格式:

@Target({ElementType.METHOD,ElementType.TYPE})
<span style="white-space:pre">						</span>//作用范围:包、类、字段、方法、方法参数、局部变量
@Retention(RetentionPolicy.RUNTIME)
<span style="white-space:pre">						</span>//生命周期:原码SOURCE、编译CLASS、运行RUNTIME
@Inherited
@Documented
public @interface Description {
String desc();
String author();
int age() default 18;//设置默认值为18;
}
//如果注解只有一个成员,则成员名必须为value(),在使用时可以忽略成员名和赋值符号(=)。如下示例:
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)

public @interface Table {
String value();
}


注解类可以没有成员,但是没有成员的注解类称为标识注解;

元注解





注解方法不可以有参数,不可以有异常;

注解的使用:

语法:@<注解名>(<成员名1>=<成员值1>,<成员名1>=<成员值1>,……)

示例:

 

@Description(desc=”I am eyeColor”, author=”Ternece’ , age=18)
public String age()
{
return 26;
}


下一篇:如何定义并使用自定义注解,提高程序的质量!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息