Java 反射和映射

什么是反射?等同于映射吗?

完全不相关的。反射是一个机机制,映射是一种关系。 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

映射是一种对应关系,在很多的情况下,表示一种存在的联系而已。

反射能做什么

  • 在运行时判断任意一个对象所属的类;
  • 在运行时构造任意一个类的对象;
  • 在运行时判断任意一个类所具有的成员变量和方法;
  • 在运行时调用任意一个对象的方法;
  • 生成动态代理。

通俗的讲,当某些API没有暴露出来,但是我们又需要用到其中的某些方法属性就需要了。

ForExample:

//假如JavaBean没有暴露出构造方法package mypackage;public class JavaBean {private int age;private String name;public  String adress;public int getAge() {return age;}private void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getAdress() {22
return adress;}public void setAdress(String adress) {this.adress = adress;}}//我们可以通过Class类来获取实例对象package mypackage;import java.lang.reflect.Method;public class JNITest {public static native void  getStringFromC();public static void main(String[] args) {try {//获取类Class<?> class1 = Class.forName("mypackage.JavaBean");//获取所有的公共的方法Method[] methods =  class1.getMethods() ;for (Method method : methods) {System.out.println( method );}//获取实例类Object object  = class1.newInstance();JavaBean javaBean  = (JavaBean)object;javaBean.setName("Hellow");System.out.println("--->"+javaBean.getName());} catch (Exception e) {e.printStackTrace();}
}
}

运行结果: public java.lang.String mypackage.JavaBean.getName() public void mypackage.JavaBean.setName(java.lang.String) public java.lang.String mypackage.JavaBean.getAdress() public void mypackage.JavaBean.TestMethod() public int mypackage.JavaBean.getAge() public void mypackage.JavaBean.setAdress(java.lang.String) public final void java.lang.Object.wait() throws java.lang.InterruptedException public final void java.lang.Object.wait(long,int) throws java.lang.InterruptedException public final native void java.lang.Object.wait(long) throws java.lang.InterruptedException public boolean java.lang.Object.equals(java.lang.Object) public java.lang.String java.lang.Object.toString() public native int java.lang.Object.hashCode() public final native java.lang.Class java.lang.Object.getClass() public final native void java.lang.Object.notify()

Java 反射和映射相关推荐

  1. Java 反射和映射(主要描述下反射)

    什么是反射?等同于映射吗?     完全不相关的.反射是一个机机制,映射是一种关系. 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个 ...

  2. java反射如何映射父类,Java反射小结 - osc_2ltf3y0p的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.获取指定类型继承的父类以及实现的接口类 调用方法:类.getSuperclass()获取父类(由于单根继承性,只能获得一个父类) 类.getInterfaces()获取实现的接口类(获得接口类数组 ...

  3. java继承 映射_hibernate继承关系映射和java反射机制的运用

    转:http://blog.csdn.net/derpvailzhangfan/article/details/1957946 ,感谢博主分享 Notes:hibernate元数据的运用:uuid的概 ...

  4. JAVA 反射知识点总汇

    从代码角度,关于反射的用法总结 一.概念 1.1 概念 简单说,JAVA反射机制是指在运行态可直接操作任意类或对象的所有属性和方法的功能,无论他是私有还是public. 1.2 反射的用途 在运行时获 ...

  5. JAVA反射通俗易懂转 转载大牛的 通俗易懂

    https://blog.csdn.net/sinat_21843047/article/details/80066333 反射是框架设计的灵魂 (使用的前提条件:必须先得到代表的字节码的Class, ...

  6. Java反射详细介绍

    反射 目录介绍 1.反射概述 1.1 反射概述 1.2 获取class文件对象的三种方式 1.3 反射常用的方法介绍 1.4 反射的定义 1.5 反射的组成 1.6 反射的作用有哪些 2.反射的相关使 ...

  7. 利用java反射机制进行对象操作

    我们经常使用COMMONS-BEANUTILS包来进行bean的操作,例如从map到bean获从bean到map的映射,那么实现的原理是什么呢,下面举个简单的操作的例子:首先,我建立一个bean pu ...

  8. java 反射 orm_Java-反射机制简介

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

  9. java 反射 ppt_Java反射的基本使用

    这里是修真院后端小课堂,每篇分享文从 [背景介绍][知识剖析][常见问题][解决方案][编码实战][扩展思考][更多讨论][参考文献] 八个方面深度解析后端知识/技能,本篇分享的是: [Java反射的 ...

  10. Java反射在JVM的实现

    本文目录 什么是Java反射,有什么用? Java Class文件的结构 Java Class加载的过程 反射在native的实现 附录 1. 什么是Java反射,有什么用? 反射使程序代码能够接入装 ...

最新文章

  1. 透露抖音、腾讯、阿里、美团招开发岗位硬核面试题,轻轻松松收到offer
  2. 全球及中国绝缘材料用沸石行业“十四五”前景规划及未来发展趋势报告2021年版
  3. 输入一个数判断是否对称java_判断对称矩阵 - osc_4mawo3g6的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. 计算机硬件课题,课题:计算机硬件结构介绍
  5. 仿照七牛云图片处理类实现的C#帮助类
  6. 定做属于自己的Lodop安装程序
  7. java中文汉字转拼音
  8. 面试(软件实施工程师)
  9. linux中睡眠命令,linux sleep命令详解
  10. 查看、设置CPU工作频率的命令
  11. mset redis_redis mset key命令简介
  12. java resultset 不关闭_关于ResultSet的关闭问题
  13. Unity UGUI 边缘泛光 描边 的简单实现
  14. 为啥有些人开着电视才能睡着?
  15. JDK Oracle 官网下载地址
  16. 数组下标越界异常是如何产生的
  17. 地铁听书系列之“看破不说破,81个为人处事潜规则”8月圆满收尾20220831
  18. 嵌入式系统导论(彭蔓蔓等·人民邮电出版社)课后习题答案
  19. 内是不是半包围结构_半包围结构(软笔)
  20. 网页文本编辑器插入网页中无法正常显示运行

热门文章

  1. java度分秒转换度
  2. win7旗舰版上装VS2010错误(提示:miicrosoft 应用程序报告[安装失败])
  3. 20个经典模拟电路(详细图文)
  4. [笔记]ASCLL码表(48 “0”,65 “A”,97 “a”)2022.3.12
  5. 证券交易4-PB系统简介
  6. pb11.5调用系统打印机
  7. win10读取linux硬盘,win10怎么读取lxext4格式硬盘
  8. SwiftUI iOS 精品开源之 具有货币转换功能的iOS计算器 网络后端汇率API (教程含源码)
  9. CPU226怎么与西门子变频器通讯
  10. 精选了20个Python实战项目(附源码)