为了账号安全,请及时绑定邮箱和手机立即绑定

Java反射

标签:
Java

1.每个加载到方法区中的Class文件都对应一个Class类的对象 Class:是一个类:一个描述类的类

Class类对象的内部结构:

private Constructor[] cs;  构造器数组

private Field fs;   属性数组

private Method[] ms;  方法数组

2.在各种Java框架中都用到了反射,框架通常通过反射来识别一个对象的“类型信息”。当你传递给框架一个对象时,框架会通过反射来了解对象的真实类型(对象实体的类型,而不是引用的类型),这个类型有几个构造器,有什么样的属性,有什么样的方法。还可以通过反射调用构造器,调用方法,对属性进行读写操作。

3.如何得到Class类对象: (1)类.class (2)对象.getClass (3)Class.forName("com.Person");、

(4)通过ClassLoader对象的loadClass()方法 

Class<?> aClass2 = ClassLoader.getSystemClassLoader().loadClass("com.sl.reflect.Student"); 

 4.Class类也是类的一种,只是名字和Class关键字高度相似。

(2)Class类的对象内容是你创建的类的类型信息,比如你创建了一个shapes类,那么,Java会生成一个内容是shapes的Class类的对象

(3)Class类的对象不能像普通类一样,以new shapes()方式创建,它的对象只能由JVM创建,因为这个类没有public构造函数。

(4)Class类的作用是运行时提供或获得某个对象的类型信息。

Class原理:

所有Java类都是继承了object这个类,在Object这个类中有一个方法:getClass()。这个方法是用来取得该类已经被实例化了的对象的Class类的引用,这个引用指向的是Class类的对象。






点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 1
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消