Java反射技术
来源:互联网 发布:js getelementbyid 编辑:程序博客网 时间:2024/06/06 20:00
java反射
1. 什么是反射技术?
反射机制实在运行状态中,对任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用对象的方法和属性;这种动态获取的信息以及动态调用对方法的功能称为JAVA语言的反射机制。
2.反射机制能做什么?
-在运行时判断任意一个对象所属的类
-在运行时构造任意一个类的对象
-在运行时判断任意一个类所具有的成员变量和方法
JAVA中Class类和用法
原理:JAVA程序在运行时,系统一直对所有的对象进行所谓运行时类型标识,即所谓的RTTI。这项信息记录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类就是Class类。这个Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。
例如你创建一个human,那么Java会生成一个内容是Human 的Class类的对象
Class类不能使用new来创建,这个对象是JVM创建的,因为这个类没有public构造函数。
- Class类原理
在object这个类中有一个方法:getClass()这个方法是用来取得该类已经被实例化了的对象的Class的引用,这个引用指向是Class类的对象。我们自己无法生成一个Class对象,而这个Class类的对象实在当各类被调用时由JVM
如何获得一个Class类对象。
public static void main(String[] args) { System.out.println("Hello World!"); //第一种方法 try { Class obj = Class.forName("Shape"); } catch (ClassNotFoundException e) { e.printStackTrace(); } //第二种方法 Shape shape =new Shape(); Class obj = shape.getClass(); Class obj1 = obj.getSuperclass();//这个函数作用时获取shape父类的类型 //第三种方法 Class obj2 = Shape.class;}
三使用Class类的对象来生成目标类的实例对象
//通过字符串的方式创建一个类,就得使用Class对象
Class rectangle =Class.forName(“Shape”);
Shape rectInstanc = (Shape)rectangle.newInstance();
System.out.println(rectInstanc.area(100,200));
使用泛型化Class引用生成带类型的目标实例;
阅读全文
0 0
- java反射技术
- java反射技术(2)
- Java的反射技术
- Java中反射技术
- 反射技术Java原理
- java反射技术
- java的反射技术
- java反射技术
- Java反射技术
- java反射技术
- java反射技术
- java反射代理技术
- java中的反射技术
- java 的反射技术
- java反射技术详解
- java 反射技术
- JAVA反射技术介绍
- java反射技术学习
- 再次谈谈TCP的Nagle算法与TCP_CORK选项
- Echarts中DataView显示Excel表格
- 美素数(素数打表)
- JSP页面如何显示本地图片
- NOI2017非洲记
- Java反射技术
- 解决 E:could not get lock /var/lib/dpkg/lock -open等问题
- Python多线程
- android databing的学习(一)
- hdu 3709 力矩
- PC端车牌识别sdk嵌入到巡逻机器人中
- linux 基本命令___0003 字符串处理和yum安装软件的路径
- Nginx 配置文件 nginx.conf 详解
- 并查集