继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java反射

慕斯3809946
关注TA
已关注
手记 19
粉丝 0
获赞 5

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类的对象。






打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP

热门评论

大佬,文章写得真不错,一起来文章互赞点点赞哈

查看全部评论