Java的反射的概述

这篇博客介绍了Java反射机制的概念,包括如何在运行时获取类的信息、创建对象和调用方法。文章通过三种方式展示了如何获取Class对象,并强调了使用Class.forName()方法在配置文件中的灵活性。此外,还解释了反射在实际开发中的应用,如动态调用对象的方法和属性。
摘要由CSDN通过智能技术生成
package cn.itcast_01;
/*
 * Java反射机制是在运行状态中,对任意一个;类,都能够知道这个类的所有属性和方法
 * 对与一个对象,都能调用它的任意一个方法和和属性
 * 这种动态获取信息以及动态调用对象的方法的功能成为java语言的反射机制
 * 
 * 要想了解一个类,必须先要获取到该类的字节码文件(class文件)。而解刨使用的就是Class类中
 * 的方法,所以先要获取到每一个字节码文件对应的Class类型的对象
 * 
 * 反射:就是通过class文件对象,去使用改文件中的成员变量,构造方法,成员方法
 *
 * 以前的使用
 * Person p = new Person
 * p.使用
 * 
 * 现在的使用
 * 要想这样使用,首先你必须得到class文件对象,其实也就是得到Class类的对象
 * Class类
 * 		成员变量		Field
 * 		构造方法		Constructor
 * 		成员方法		Method
 * 先得到class文件对象在得到这三个类的对象再调方法
 * 
 * 获取class文件对象的方式
 * A:Object类的getClass()方法
 * B:数据类型的静态属性class
 * C:Class类中的静态方法
 * 			public static Class forName(String className)
 * 
 * 一般我们到底使用谁呢?
 * A:自己玩	任选一种,第二种比较方便
 * B:开发  第三种
 *       问什么呢?因为第三种是一个字符串,而不是一个具体的类名,
 * 		 这样我们就可以把这样的字符串配置到文本文件中
 */
public class 反射的概述 {
		public static void main(String[] args) throws Exception {
			//方式一
			Person p = new Person();
			Class c = p.getClass();
			
			Person p2 = new Person();
			Class c2 = p2.getClass();
			
			System.out.println(p == p2);//false
			System.out.println(c == c2);//true
			//因为class文件只有一份所以对象就只有一个
			
			//方式二
			Class c3 = Person.class;
//			int.class;
//			String.class;
			System.out.println(c==c3);
			//class文件对象
			
			//方式三
			Class c4 = Class.forName("cn.itcast_01.Person");
			System.out.println(c == c4);		
		}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unknown To Known

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值