Java反射介绍:
JAVA反射机制是对所有的类,都能获取到这个类的所有属性和方法。
任意一个对象都能调用它的方法和属性(包括私有的方法和属性), 这种动态获取的信息以及动态调用对象的方法的 功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取任何 东西都可以。
Class类常用类:
Java的反射原理:
Class对象的由来是将.class文件读入内存,并为之创建一个Class对象。
当执行实例出来的对象(new getFields())会触发JVM加载里面的getFields.class文件,然后JVM从本地找到这个getFields.class文件并加载到JVM内存中,最后加载到内存后,JVM会自动创建一个getFields.class对象,一个类只能产生一个class对象。得到class对象后,获取到这个对象的所有信息
反射的优缺点:
1、优点:在运行时获得类的各种内容,进行反编译,对于Java这种先编译再运行的语言,能够让我们很方便的创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代码的链接,更加容易实现面向对象。
2、缺点:
反射会消耗一定的系统资源,因此,如果不需要动态地创建一个对象,那么就不需要用反射;
反射调用方法时可以忽略权限检查,因此可能会破坏封装性而导致安全问题。