Java reflection

Object Reflection is a feature in Java which provides a way to get reflective information about
Java classes and objects, such as:
1 Getting information about methods and fields present inside the class at run time
2 Creating a new instance of a class
3 Getting and setting the object fields directly by getting field reference, regardless of
what the access modifier is.

Why it is useful:
1 Helps in observing or manipulating the runtime behavior of applications
2 Useful while debugging and testing applications, as it allows direct access to methods,
constructors, fields, etc

try {
            Class c = Class.forName("java.util.ArrayList");
            Method m[] = c.getDeclaredMethods();
            for (int i = 0; i < m.length; i++) {
                System.out.println(m[i].toString());
            }
            System.out.println();
            Field[] f = c.getDeclaredFields();
            for (int i = 0; i < f.length; i++) {
                System.out.println(f[i].toString());
            }
        } catch (Throwable e) {
            System.err.println(e);
        }
原文地址:https://www.cnblogs.com/phoenix13suns/p/4206460.html