注解

来源:互联网 发布:海之蓝淘宝旗舰店 编辑:程序博客网 时间:2024/06/13 01:47

基础语法

注解可以在package,class,method,filed上使用
//该注解表示方法被遗弃,会加一个横线在方法上。可以修饰方法,属性,类@Deprecated    public static void test01() {        System.out.println("这个方法被遗弃了,不推荐使用");    }    public static void main(String[] args) {        test01();    }

public class show {    @myAnnotation(age=19, name="tom", id=100,            schools={"实验小学","实验中学"})    public  void test() {    }}
//@Target(value=ElementType.METHOD)@Target(value={ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface myAnnotation {    /*     * @Target用于描述注解使用的范围     * package-->PACKAGE     * 类,接口,枚举,注解-->TYPE     * 类型成员(方法,构造方法,成员变量,枚举值)-->CONSTRUCTOR描述构造器,FIELD域,METHOD方法     * 方法参数和本地变量-->LOCAL VARIABLE局部变量,PARAMETER描述参数     */    /*     * @Retention,描述注解的生命周期     * SOURCE-->在源文件中有效,即在源文件中保留     * CLASS-->class文件中有效     * RUNTIME-->在运行的时候有效,运行时保留,可以被反射读取     */    //name() , age()  是参数名称    //默认值常用空字符串,0,-1    String name() default "";    int age() default 0;    int id() default -1;    String[] schools() default {"清华","北大"};}

@Target(value={ElementType.METHOD,ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface myAnnotation2 {    //只有一个元素,通常叫value    String value();}
public class show {    //value="aaa"的省略写法    @myAnnotation2("aaa")    public  void test() {    }}

反射读取注解

通过反射来读取注解,然后赋值

package com.bjsxt.test.annotation;@SxtTable("tb_student")public class SxtStudent {@SxtField(columnName="id",type="int",length=10)private int id;@SxtField(columnName="sname",type="varchar",length=10)private String studentName;@SxtField(columnName="age",type="int",length=3)private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getStudentName() {return studentName;}public void setStudentName(String studentName) {this.studentName = studentName;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
package com.bjsxt.test.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(value={ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)public @interface SxtTable {String value();}package com.bjsxt.test.annotation;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;@Target(value={ElementType.FIELD})@Retention(RetentionPolicy.RUNTIME)public @interface SxtField {String columnName();String type();int length();}
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 六年级半圆的面积公式 半圣领主 一文穷鬼 半坡起步 半坡遗址 半坡 半坡博物馆 半坡居民 科目二半坡 半坡文化 西安半坡 半坡饰族 半坡定点 半坡熄火 半坡氏族 半坡停车 半坡包包 半坡店村 半坡店 半坡饰品 半坡型 半坡 起步 半坡定点停车技巧 半坡30秒起步绝招 科目二半坡起步定点停车技巧 自动挡半坡起步 半坡起步技巧 半坡遗址博物馆 自动挡怎么半坡起步不后溜 半坡起步口诀表 科目二半坡起步 西安半坡遗址博物馆 半坡起步30公分图解 科二半坡起步技巧 半坡起步图解 手动挡半坡起步技巧 西安半坡遗址博物馆旅游 无油门半坡起步秘籍 手动挡半坡起步 半坡国际艺术区 自动挡半坡怎么起步 西安半坡遗址