JAVA反射机制深入学习(一)Java反射概念解析

本文详细介绍了Java反射机制,包括如何获取Class对象的三种方法、Constructor、Field和Method对象的使用,以及反射在主流框架中的应用。通过示例代码展示了反射如何动态获取类信息、创建对象、访问属性和调用方法。
摘要由CSDN通过智能技术生成
首先先来看一下JAVA反射的概念:
JAVA反射(Reflection):在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java的反射机制是java被称为动态语言的一个关键性质。
那么反射机制所能实现的功能有:
1.    只要给定类的全名,即可通过反射获取类的所有信息。
2.    反射可以在程序运行时获取任意一个对象所属的类对象。
3.    在运行时可以获取到类中所有属性对象,并对其操作(包括私有属性)。
4.    在运行时可以获取到类中、父类中所有方法,并调用。
目前主流的应用框架如Struts2、Hibernate、Spring、SpringMVC等框架的核心全部是利用Java的反射机制来实现的。
在学习JAVA的反射机制前我们得先了解下JAVA中的几大对象 Class、Constructor、Field、Method
首先先来看下JAVA中的Class对象
Class其实就是类的类型,比如字符串类型就是String,整形类型就是Integer,String和Integer类型就是Class。
Class对象是运行时获取的

Class对象的常用方法介绍:
getName()    获得类中完整名称
getDeclaredFields()    获得类中的所有属性
getDeclaredMethods()     获得类中所有的方法
getConstructors()     获得类构造方法
newInstance()     实例化类对象
注:newInstance()方法为实例化空参数的类对象时使用。
获取Class对象的有三种方法,我们来通过实例来演示下获取Class对象的三种方式:
首先我们先来创建一个简单的bean来作为被获取的class对象的类
public class Book {
    private int id;
    private String name;
    private String type;

    public Book() {
    }

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值