JAVA中反射是什么

JAVA中反射是什么,第1张

JAVA中反射是动态获取信息以及动态调用对象方法的一种反射机制。

Java反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。而这也是Java被视为动态语言的一个关键性质。

Java反射的功能是在运行时判断任意一个对象所属的类,在运行时构造任意一个类的对象,在运行时判断任意一个类所具有的成员变量和方法,在运行时调用任意一个对象的方法,生成动态代理。

扩展资料:

JAVA中反射实例:

1、Class superClass=clazz.getSuperclass()//获取父类。

System.out.println("getSuperclass:"+superClass)。   

2、Class[] interfaces=clazz.getInterfaces()//获取实现接口。

System.out.println("getInterfaces:"+interfaces.length)。

3、Constructor[] cons=clazz.getConstructors()//构造方法。

System.out.println("getConstructors:"+cons.length)。

参考资料来源:百度百科: JAVA反射机制

反射:在运行状态下,通过class文件对象,去使用构造方法,成员变量,成员方法

方法有三种:

1.类名.class

2.对象.getclass()

3.class.forName("包名.类名")

好处:

只要有一个类或者一个类的对象,就可以得到这个类或对象的所有属性和方法,包括私有的

同步方法

反射成员方法:

1.获取字节码文件

Class c = Class.forName("包名.类名");

2.反射方法

Method m = c.getMethod("反射的方法",方法的参数类型.class)

3.用方法,m.invoke(对象,参数) 对象,c.newInstance ,在A建立对象。

m.invoke(c.newInstance(),参数);

类加载器与反射有什么关系

反射是通过字节码文件对象,将类的字段,方法,构造器等映射成相应的类,并进行各自的 *** 作;

类加载器是通过某个类的.classLoader()方法,将该类的.class文件从硬盘中加载到java虚拟机中,形成字节码文件;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6043608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-12
下一篇 2023-03-12

发表评论

登录后才能评论

评论列表(0条)

保存