Java注解和反射机制(1)

来源:互联网 发布:js input date 默认值 编辑:程序博客网 时间:2024/04/25 18:42
Java注解:
Annotation注解
Annotation作用:不是程序本身,可以对程序作出解释,可以被其他程序读取
格式:注解是以"@注释名"在代码中存在,还可以添加一些参数值如:@SuppressWarnings(value="unchecked")
Annotation 在哪里使用:可以附加在package,class,method,field等上面,相当于给它们添加额外的辅助信息,我们可以通过反射机制编程实现对这些元数据的访问


内置注解:
@Override
定义在java.lang.Override中,此注释只用于修辞方法,表示一个方法声明打算重写超类中的另一个方法


@Deprecated
定义在java.lang.Deprecated中注释,可用于修辞方法,属性,类,表示不鼓励程序员使用这样的元素,通常是因为它很危险或存在更好地选择


@SupperWarnings
定义在java.lang.SuppressWarnings,用来抑制编译警告
参数:
deprecation:使用了过时的类或方法的警告
uncheckd:执行了未检查的转换时的警告,如果使用集合时未指定范型
fallthrough当在switch语句使用时发生case穿透
path:在类路径,源文件路径中有不存在的路径的警告
serial:当在可序列化的类上缺少serialVersionID定义时的警告
finally:任何finally子句不能完成
all:关于以上所有情况的警告


自定义注解:
使用@interface自定义注解时,自动继承java.lang.annotation.Annotation接口
要点:
@interface用于声明一个注解
格式为 public @interface 注解名{定义体}
其中每一个方法实际上都是声明一个配置参数
方法的名称就是参数的名称
返回值类型就是参数的类型(返回值类型只能是基本类型,Class,String,enum)
如果可以通过default来声明参数的默认值
如果只有一个参数成员,一般的参数名为value


反射机制:
指的是可以运行时加载,探知,使用编译期间完全未知的类
程序在运行状态中,可以动态加载一个只有名称的类,对于任意已加载的类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能偶调用它的任意一个方法和属性;


Class c=Class.forName("com.sun.newClass")
加载完类后,在堆内存中,就产生了一个Class类型的对象,一个类只有一个Class对象,这个对象就包含了完整的类的结构信息,我们可以通过这个对象看到类的结构,这个对象就像一面镜子,透过这个镜子看到类的结构,所以,我们形象的称之为反射
一个类只对应一个Class对象
同一个类型的相同维度的数组具有相同的class对象,同意类型的不同维度的数组具有不同的class对象


反射机制常见的作用:
动态加载,动态获取类的信息(属性,方法,构造器)
动态构造对象
动态调用类和对象的任意方法,构造器
动态调用和处理属性
获取范型信息
处理注解


获取Class类的对象:
运用getClass()
运用Class.forName()
运用.class语法
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宝付支付乱扣款怎么办 苏宁任性贷逾期怎么办 第二次跟家里开口要钱还网贷怎么办 网贷到家来要钱怎么办 网贷贷不了啦急要钱怎么办 百度推广竞价关键词太长怎么办 药店位置差客流少怎么办 网站上的用词违规怎么办 苹果16g内存不够怎么办 手机16g内存不够怎么办 在私企年纪大了怎么办 谷歌浏览器显示不安全打不开怎么办 4s密码多次错误怎么办 苹果4s手机系统错误怎么办 汽车充电口坏了怎么办 如果手机充不了电怎么办 淘宝买的家电坏了怎么办 衣服皱了没有熨斗怎么办 油烟机油盒坏了怎么办 实体店不给换货怎么办 台式电脑鼠标不动了怎么办 电脑开机一直长鸣报警怎么办 国外电话卡网速太慢怎么办 滴滴提现忘记登录密码怎么办 微信提现支付密码忘记了怎么办 小米手机前置摄像头打不开怎么办 mp4视频屏幕好小怎么办 投了简历没回应怎么办 借壳上市原股票怎么办 红米note3指纹解锁失灵怎么办 来分期刷脸失败怎么办 买到假货商家不承认怎么办 买到假货翻新货工商局怎么办 三星note8笔丢了怎么办 夜跑结束后该怎么办 lol客户端正在运行中怎么办 瑞和宝终端锁定怎么办 骊爽摩托车动力弱怎么办? 换了手机跟点微信怎么办 手机送点插头换了怎么办 校园网总是显示有代理软件怎么办