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反射机制

第一种:通过forName()方法;

第二种:类.class;

第三种:对象.getClass()。

举例如下:

package

test

public class Demo{

public static void

main(){

Class<?>c1 = null

Class<?>c2 =

null

Class<?>c3 =

null

//三种反射用实例化方式

try{

//最常用的一种形式

c1 =

Class.forName("test.X")

}catch(ClassNotFoundException

e){

e.printStackTrace()

}

//通过Object类中的方法实例化

c2

= new X().getClass()

//通过类.class实例化

c3 =

X.class

System.out.println("类名:" + c1.getName())

//得到类名

System.out.println("类名:" + c2.getName())

//得到类名

System.out.println("类名:" + c3.getName())

//得到类名

}

}


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

原文地址: http://outofmemory.cn/yw/7813667.html

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

发表评论

登录后才能评论

评论列表(0条)

保存