Similar to the Class class, the Reflection in Java is also information for getting class, and Reflection can get more information. The classes associated with Reflection are in the java.lant, mainly Modifier, Constructor, Field, Method four classes, you can get the access modifiers, constructor, class members, and class methods, respectively. For example:
Modifier class: Acquisition modifier acquired
-------------------------------------------------- ---------------------
Import java.lang.reflect. *;
Class SampleModifier {public static void main (string ") {string s = new string (); printmodifiers (s);} public static void printmodifiers (object o) {class c = o.getClass (); int m = C .getmodifiers (); if (Modifier.Ispublic (m)) System.out.Println ("PUBLIC"); if (Modifier.isabstract (M)) System.out.Println ("Abstract"); if (Modifier.isfinal (m)) System.out.println ("Final");}}
Output results:
Public final
-------------------------------------------------- ---------------------
Constructor class: Acquisition modifier constructor for acquiring objects
-------------------------------------------------- ---------------------
import java.lang.reflect *;. import java.awt *;. class SampleConstructor {public static void main (String [] args) {Rectangle r = new Rectangle (); showConstructors (r);} static void showConstructors (Object o ) {Class c = o.getClass (); constructor [] theconstructors = c.getconstructors (); for (int i = 0; i () (INT INT) (java.awt.point) (java.awt.point java.awt.dimension) (Java.awt.Rectangle) -------------------------------------------------- --------------------- FIELD Class: Acquisition of the class member -------------------------------------------------- --------------------- import java.lang.reflect *;. import java.awt *;. class SampleField {public static void main (String [] args) {GridBagConstraints g = new GridBagConstraints (); printFieldNames (g);} static void printFieldNames (Object o ) {Class c = o.getClass (); field [] publicfields = c.Getfields (); for (int i = 0; i Method class: Type method for acquiring objects -------------------------------------------------- --------------------- import java.lang.reflect *;. import java.awt *;. class SampleMethod {public static void main (String [] args) {Polygon p = new Polygon (); showMethods (p);} static void showMethods (Object o ) {Class c = o.getClass (); method [] themeth 4 = c.getMethods (); for (int i = 0; i