JAVA中反射是什么

Python013

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

使用类字面常量或TYPE字段,例如:

Class myObjectClass= MyObject.class;(类字面常量不仅可以应用于普通的类,也可以应用

于接口、数组以及基本数据类型),这种方式不仅更简单,而且更安全,因为它在编译时就会受到检查,并且根除了对forName方法的调用,所以也更高效,建议使用“.class”的形式。

Class c = Integer.TYPE;(TYPE是基本数据类型的包装类型的一个标准字段,它是一

个引用,指向对应的基本数据类型的Class对象),附表如下,两边等价:

boolean.class

Boolean.TYPE

char.class

Character.TYPE

byte.class

Byte.TYPE

short.class

Short.TYPE

int.class

Integer.TYPE

long.class

Long.TYPE

float.class

Float.TYPE

double.class

Double.TYPE

void.class

Void.TYPE

使用instanceof 关键字,instanceof是Java的一个二元操作符,是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,也可以测试接口。

public class Test

{

public static void main(String[] args)

{

Student student = new Student()

System.out.println(student instanceof Person)

}

}

class Student implements Person

{

}

interface Person

{

}