什么是Java反射机制?

Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。

1. 反射机制介绍_Class对象获取

(1) 反射机制的常见作用是什么?

1) 动态的加载类、动态的获取类的信息(属性,方法,构造 器) 2) 动态构造对象 3) 动态调用类和对象的任意方法、构造器 4) 动态调用和处理属性 5) 获取泛型信息 6) 处理注解

(2) 获取Class对象的方式有哪些?

1) 通过字节码文件 2) 对象的 getClass()方法 3) Class 类的静态方法 forName(….)反射机制动态操作方法_属性_构造器

(3) 使用反射机制获取类的名称和属性的方法有哪些?

(4) 使用反射机制获取方法及构造方法的方法有哪些?

2. 提高反射效率

(1) 简述如何提高反射的效率?

a) setAccessible 启用和禁用访问安全检查的开关,值为 true 则指示反射的对象在使用时应该取消 Java 语言访 问检查,值为 false 则指示反射的对象不实施 Java 语 言访问检查,并不是为 true 就能访问为 false 就不能访 问 b) 禁止安全检查,可以提高反射的运行速度

(2) 什么是(Reflection)反射?其它语言有这种特点吗?

JavaBean 是 reflection 的实际应用之一,它能让一些工具可视化的操作软件组件。这些工具通过 reflection 动态的载入并取得 Java 组件(类) 的属性。Java 的这一能力在实际应用中也许用得不是很多,但是在其它的程序设计语言中根本就不存在这一特性。例如,Pascal、C 或者 C++ 中就没有办法在程序中获得函数定义相关的信息。

3. 反射操作泛型

(1) 简述什么是泛型?有哪些作用?

Java 中的泛型仅仅是给编译器 javac 使用的,确保数据的 安全性和免去强制类型转换的麻烦,但是一旦编译完成,所 有与泛型有关的类型全部擦除。 使用泛型直接读取泛型,是读取不到的,因为反射是操作 加载以后的类的。

(2) Java新增的数据类型有哪些?

为了通过反射操作这些类型以迎合实际开发的需要 1) ParameterizedType: 表 示 一 种 参 数 化 的 类 型 ,比 如 Collection,可以获取 String 信息 2) GenericArrayType:泛型数组类型 3) TypeVariable:各种类型变量的公共父接口 4) WildcardType:代表一种通配符类型表达式, 比如? extends Number,? super Integer (Wildcard 是一个单词,就是通配符)

4. 注解

(1) 简述注解的作用?

不是程序本身,可以对程序作出解释。(这一点跟注释没 什么区别) 2) 可以被其他程序(比如:编译器等)读取。(注解信息处理流 程,是注解和注释的重大区别,如果没有注解信息处理流 程,则注解毫无意义)

(2) 常见的内置注解有哪些?

1) @Override :标识方法是重写的方法 2) @Deprecated :标识的方法不建议使用 3) @SuppressWarnings:用来抑制编译时的警告信息 @SuppressWarinings 需要提供参数才能正常使用,这些参数 都是已经定义好的,我们只需要选择就可以了。

5. 自定义注解

(1) 自定义注解的注意事项有哪些?

使 用 @interface 定 义 自 定 义 注 解 时 , 自 动 继 承 了 java.lang.annotation.Annotation 接口 1) @interface 用来声明一个注解 2) 其中的每一个方法实际上是声明了一个配置参数 a) 方法的名称就是参数的名称 b) 返回值类型就是参数类型(返回值类型只能是基本 类型、Class、String、enum) c) 可以通过 default 来声明参数的默认值 d) 如果只有一个成员,一般参数名为 value 注意事项:注解元素必须要有值。我们定义注解元素时,经 常使用空字符串,0 作为默认值。 也经常使用负数(比如-1)表示不存在的含义

(2) 什么叫元注解?

元注解的作用就是负责注解其他注解。在 Java 中定义了 4 个标准的 meta-annotation 类型,它们被用来提供对其它 annotation 类型作说明 这些类型和它们所支持的类在 java.lang.annotation 包中可 以找到 1) @Target 2) @Retention 3) @Documented 4) @Inherited

6. 反射读取注解信息

(1) 简述ORM什么含义?

ORM:对象关系映射 1) 类与表结构对应 2) 属性和字段对应 3) 对象和记录对应 使用注解完成类和表结构的映射关系

(2) 举例说明注解的使用?

将Java中的Student类使用第三方程序通过读取注解生成数 据库中的表1) 编写 Student 类 2) 编写注解 3) 在类中使用注解 4) 通过解析程序将注解读取出来 (通过框架解析) 5) 拼接 SQL 语句,使用 JDBC 到数据库中执行创建表

java 反射 orm_Java-反射机制简介相关推荐

  1. Java程序员从笨鸟到菜鸟之(八)反射和代理机制

    反射和代理机制是JDK5.0提供的Java新特性,反射的出现打破了java一些常规的规则,如,私有变量不可访问.但反射和代理在学习过程中也是一个比较难理解的知识点.本人曾经学过一段时间的反射和代理,但 ...

  2. JAVA Reflection(反射机制)

    Java 反射机制 反射机制简介 反射机制应用示例 简单的Ioc实现 代理模式 Java动态代理 简单的Aop实现 "程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言" ...

  3. 浅说Java中的反射机制(一)

    在学习传智播客李勇老师的JDBC系列时,会出现反射的概念,由于又是第一次见,不免感到陌生.所以再次在博客园找到一篇文章,先记录如下: 引用自java中的反射机制,作者bingoideas.(()为我手 ...

  4. JAVA基础--JAVA中的反射机制详解

    JAVA反射机制     JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法:这种动态获取的信息以及动态调用对象的方法的功能 ...

  5. java f反射_java反射机制

    反射定义 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为jav ...

  6. java 有哪些反射机制_Java 的反射机制你了解多少?

    不知道多少次听说过了Java反射机制的使用,比如:Spring 框架如何实例化IoC容器中的Bean,编码过程中如何动态的清理对象中的字段信息等等.工作中只是听说.看同事们编码实践,但是自己却只是概念 ...

  7. java代码安全检测机制_全面解析:java中的反射机制,内含代码验证解析

    什么是反射? 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功 ...

  8. [java学习] java_反射机制

    摘自http://baike.baidu.com/view/3454964.htm#5 反射是指一类应用,它们能够自描述和自控制.也就是说,这类应用通过采用某种机制来实现对自己行为的描述(self-r ...

  9. java 内省机制_Java反射与内省机制总结

    Class对象封装了一个java类定义的成员变量.成员方法.构造方法.包名.类名等. 2.反射怎么用 1).获得java类的各个组成部分,首先需要获得代表java类的Class对象 获得Class对象 ...

最新文章

  1. Ubuntu Server 安装部署 Cacti 服务器监控
  2. Python 计算机视觉(七)—— OpevCV进行直方图统计
  3. 都2021年了,不会还有人连深度学习还不了解吧(六)-- Padding篇
  4. 湖南铁路科技职业技术学院计算机等级,湖南铁路科技职业技术学院——高速铁路动车乘务专业...
  5. Crontab的格式
  6. 矩阵A对任意的可逆矩阵p都有Ap=pA,证明A为数量矩阵
  7. 【MySql】linux下,设置mysql表名忽略大小写
  8. 博客,文字的卡拉OK版
  9. 学php记不住函数,为什么都是记不住PHP 的函数名
  10. 基于TCP协议的网络摄像头的设计与实现
  11. 9025.计算机专业英语,计算机专业英语测试
  12. MyBatis笔记二:配置
  13. 企业级监控软件使用zabbix key监控nginx status各种状态
  14. MFC学习日志(一)
  15. 【Pygame闯关游戏】手残勿入,最新虐心游戏《见缝插针》——不得不玩的一款游戏。
  16. 流媒体服务器(视频服务器)实现超大并发的解决方案
  17. 创建型模式之简单工厂模式
  18. 基于S7-200 PLC控制的小型自动化立体仓
  19. 2020杭州学区房(WJP)
  20. 云计算的运营方式有这三种

热门文章

  1. 服务器备份文件ctf,GUET-CTF 题目备份
  2. 多维数组的索引与切片_「GCTT 出品」Go 系列教程——11. 数组和切片
  3. kaggle房价预测特征意思_R语言实战:复杂数据处理和分析之Kaggle房价预测
  4. windoes 远程桌面时出现“没有远程桌面授权服务器可以提供的许可证”解决方法
  5. 第二章: ORacle 自带用户讲解、oracle的开发工具、oracle客户端的配置、以及常见连接报错
  6. 黑马28期Android全套视频无加密完整版
  7. Android 根据从服务器中获取的rgb值实现动态改变圆角加框的Imageview 的背景色
  8. 奥鹏C语言专科在线作业答案,奥鹏13春电子科大《C语言(专科)》在线作业3答案...
  9. 数据库系统概论:第八章 数据库编程
  10. android权限控制泄露,Android应用的权限泄露分析