2020-10-11

Java学习笔记(6)

反射

Java反射机制是在运行状态中对于任意一个类,都能知道这个类的所有属性和方法,对于任意一个对象,都能调用它的任意一个方法和属性。

Java中的java.lang.reflect 包提供了对反射的支持,该包下的三个类分别用来存储类的构造方法、成员变量和方法

  1. Constructor:提供关于类的单个构造方法的信息以及对它的访问权限
  2. Field:提供有关类和接口的单个字段的信息,以及对它的动态访问权限。反射的字段可能是一个类字段或者实例字段
  3. Method:提供关于类或接口上单独某个方法(以及如何访问该方法)的信息。所反映的方法可能是类方法或实例方法

通过反射可访问的主要描述信息

组成部分访问方法返回值类型说明
包路径getPackage()Package对象获得该类的存放路径
类名称getName()String对象获得该类名称
继承类getSuperClass()Class对象获得该类继承的类
实现接口getInterfaces()Class型数组获得该类实现的接口
构造方法getConstructors()Constructor型数组获得所有权限为public的构造方法
构造方法getConstructors(Class<?>…parameterTypes)Constructor对象获得权限为public的指定构造方法
构造方法getDeclaredConstructors()Constructor型数组获得所有构造方法,按声明顺序返回
构造方法getDeclaredConstructors(Class<?>…parameterTypes)Constructor对象获得指定构造方法
方法getMethods()Method型数组获得所有权限为public的方法
方法getMethods(String name,Class<?>…parameterTypes)Method对象获得权限为public 的指定方法
方法getDeclaredMethods()Method型数组获得所有方法,按照声明顺序返回
方法getDeclaredMethods(String name,Class<?>…parameterTypes)Method对象获得指定方法
成员变量getFields()Field型数组获得所有权限为public的成员变量
成员变量getFields(String name)FIeld对象获得权限为public 的指定成员变量
成员变量getDeclaredFields()Field型数组获得所有成员变量,按声明顺序返回
成员变量getDeclaredFields(String name)FIeld对象获得指定成员变量
内部类getClasses()Class型数组获得所有权限为public的内部类
内部类getDeclaredClasses()Class型数组获得所有内部类
内部类的声明类getDeclaringClass()Class对象如果该类为内部类,则返回他的成员类,否则返回null

Annotation注解

Annotation是java.lang包下的一个接口,它是代码的特殊标记,这些标记可以在编译、类加载、运行时被读取,并执行相应处理,它可用于类,构造方法、成员变量、方法、参数等的声明中

内置注解

  1. @Override:限定重写父类方法
  2. @Deprecated:标示已过时
  3. @SuppressWarnings:抑制编译器警告

自定义注解

步骤如下:

  1. 自定义注解
  2. 使用元注解对自定义注解进行设置
  3. 反射注解
这是一个 SQL 语句,用于向借阅表中插入数据。该表包含以下字段:借阅编号、读者编号、书籍编号、借阅日期、归还日期、借阅状态。每条数据表示一次借阅记录。其中借阅编号、读者编号、书籍编号、借阅日期和借阅状态是必填项,归还日期为可选项,如果借阅状态为“已还”则必须填写归还日期。 具体插入的数据如下: - 借阅编号:100001,读者编号:123413,书籍编号:0001,借阅日期:2020-11-05,归还日期:NULL,借阅状态:借阅 - 借阅编号:100002,读者编号:223411,书籍编号:0002,借阅日期:2020-9-28,归还日期:2020-10-13,借阅状态:已还 - 借阅编号:100003,读者编号:321123,书籍编号:1001,借阅日期:2020-7-01,归还日期:NULL,借阅状态:过期 - 借阅编号:100004,读者编号:321124,书籍编号:2001,借阅日期:2020-10-09,归还日期:2020-10-14,借阅状态:已还 - 借阅编号:100005,读者编号:321124,书籍编号:0001,借阅日期:2020-10-15,归还日期:NULL,借阅状态:借阅 - 借阅编号:100006,读者编号:223411,书籍编号:2001,借阅日期:2020-10-16,归还日期:NULL,借阅状态:借阅 - 借阅编号:100007,读者编号:411111,书籍编号:1002,借阅日期:2020-9-01,归还日期:2020-9-24,借阅状态:已还 - 借阅编号:100008,读者编号:411111,书籍编号:0001,借阅日期:2020-9-25,归还日期:NULL,借阅状态:借阅 - 借阅编号:100009,读者编号:411111,书籍编号:1001,借阅日期:2020-10-08,归还日期:NULL,借阅状态:借阅
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值