反射和注解

  • 反射

Java中一个非常突出的动态机制 reflection

反射是程序运行期间的行为

反射机制可以实现以下功能

  1. 在运行时判断任意一个对象所属类
  2. 在运行时创建任意一个类的对象
  3. 在运行时判断一个类中所有的成员变量和方法
  4. 在运行时调用一个类中方法

反射的源头

class 类类实例表示正在运行的java应用程序中的类和接口

class类的对象 一个类型加载的内存中,就存在一个属于当前类的对象,唯一不可变,

Class对象

类名.class

Class.forname(权限定名) 包名.类名    推荐

对象.getclass()

通过反射创造对象

  1. class.newInstance() 过时,默认空构造
  2. Constructor.newInstance()通过构造器,创建对象

获取公共构造器,获取私有构造器(先忽略私有权限在使用)

    调用构造器的初始化信息

通过反射操作属性,操作方法

  • 注解

Java1.5新特性

作用

语法:@注解名(实参)

位置:任意位置

分类:JDK内置注解

@Overriede 限定重写父类方法

@Deprecated 标记已经过时的

 原注解

自定义注解

参数个数:标记注解,单值注解,完整注解

原注解:注解注解的注解

@Terget用来描述注解的范围

@Retention表示注解的生命周期

@Docunmentde表示使用该注解的元素应当javadoc或类似工具文档化

@Inhertied表示一个注解类型会被自动继承

自定义注解:

  1. 通过@interface自定义注解类型
  2. 自定义注解,默认实现 lang包下的的annotation接口
  3. 自定义注解,不能显示其继承的父类,和实现的接口
  4. 可以定义字段 修饰符 类型 字段名();
  5. 如果只有1个字段,建议value,默认直接赋值
  6. 字段类型:基本数据类型,String,annotation,枚举或者他们的数组
  7. 修饰符 只能public|缺省
  8. 通过default为字段赋默认值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值