java反射的基础常识

来源:互联网 发布:厦门软件学院教务系统 编辑:程序博客网 时间:2024/06/05 01:56

JAVA反射机制是在运行状态中,对于任意一个,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。AVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言

众所周知Java有个Object 类,是所有Java 类的继承根源,其内声明了数个应该在所有Java 类中被改写的方法:hashCode()、equals()、clone()、toString()、getClass()等。其中getClass()返回一个Class 对象。
Class 类十分特殊。它和一般类一样继承自Object,其实体用以表达Java程序运行时的classes和interfaces,也用来表达enum、array、primitive Java types(boolean, byte, char, short, int, long, float, double)以及关键词void。当一个class被加载,或当加载器(class loader)的defineClass()被JVM调用,JVM 便自动产生一个Class 对象。如果您想借由“修改Java标准库源码”来观察Class 对象的实际生成时机(例如在Class的constructor内添加一个println())

Java允许我们从多种管道为一个class生成对应的Class object。


1)运用getClass()

2)运用Class.getSuperclass()

3)运用static method------Class.forName()(最常被使用)

4)运用primitive wrapper classes的TYPE 语法

0 0