注解是JDK1.5之后提供一种新的注释方式,它的格式是:@Annotation
Java最初注释
单行注释 //
多行注释 //
文档注释 / */
文档注释放置在:类,方法,属性的上方
其他的注释都放置在:方法内容
注释的作用:
1、解释代码
2、废弃代码
注解实际上就是注释的一种,但是它与注释稍微又有些区别
1、注解在一定程度上有 注释的作用
2、注解可以定义的属性,并且它的这些属性在Java代码依旧可以再次使用(反射)
3、注解可以和第3方类达成一定的约定(约定优于配置)
Java中常见的注解
@Override 重写注解
@Deprecated 废弃代码
public class GentleGirl extends Girl implements Flyable{@Overridepublic void cry() {// TODO Auto-generated method stub}@Deprecated@Overridepublic void fly() {// TODO Auto-generated method stub}@Overridepublic String toString() {// TODO Auto-generated method stubreturn super.toString();}}
自定义一个注解
Java的注解可能不太够,以后大家会遇到:ORM
Java类 — 某张数据表
每一个对象 — 表中的数据
每一个对象的属性 — 表中的行的字段
定义在注解上方的注解:元注解
元注解
@Documented 文档注解 作用:允许注解可以导出成API
@Target 目标注解 作用:描述注解能够使用的位置
@Retention 注解生命周期,作用:描述注解在 源码,编译,运行期 这3个范围的生命周期
/*** 作用:该注解的作用是为了为学生讲解如何自定义注解* @author 蜗牛学院**/@Documented@Target(value= {ElementType.TYPE,ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)public @interface InitAnnotation {String effect();/*** default 可以给注解 添加默认值* 添加默认值以后,该属性就不是一个必须属性* @return*/String remark() default "";}//应用@InitAnnotation(effect="这是一个女孩类")public class GentleGirl extends Girl implements Flyable{@Overridepublic void cry() {// TODO Auto-generated method stub}@Deprecated@Overridepublic void fly() {// TODO Auto-generated method stub}@InitAnnotation(effect="重写了toString()方法",remark="asdf")@Overridepublic String toString() {// TODO Auto-generated method stubreturn super.toString();}}
