-
運行環境:
JDK8 + IntelliJ IDEA 2018.3
-
源碼:
package com.ChenJiangT.Demo2; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Arrays; public class Demo2 { public static void main(String[] args) { /* Field 類:代表類的成員變量(成員變量也稱為類的屬性)。 Method類:代表類的方法。 Modifier類:代表修飾符。 Constructor 類:代表類的構造方法。*/ Student student = new Student(); Class claStu=student.getClass(); Field cla1=null; try { cla1=claStu.getDeclaredField("name"); } catch (NoSuchFieldException e) { e.printStackTrace(); } System.out.println(cla1); Field[] cla2=claStu.getDeclaredFields(); System.out.println(Arrays.toString(cla2)); System.out.println("********************************************************************************************"); //Method類: Method clazMe=null; try { clazMe=claStu.getMethod("aa",String.class);//查找方法名是getName 並且c } catch (NoSuchMethodException e) { e.printStackTrace(); } System.out.println(clazMe); Method[] clazMe2=claStu.getMethods(); //查找此類的所有公共的方法 包含父類的繼承來的方法 System.out.println(Arrays.toString(clazMe2)); Method[] clazMe4 = claStu.getDeclaredMethods();//查找此類的所有的方法 不包含父類的繼承來的方法 System.out.println(Arrays.toString(clazMe4)); System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"); //Modifier類 getModifiers int claMod=claStu.getModifiers(); System.out.println(claMod); //Constructor 類:代表類的構造方法 getConstructor getConstructors getDeclaredConstructors Constructor claCon1=null; try { claCon1 = claStu.getConstructor(String.class);//查找參數是String 的構造方法 } catch (NoSuchMethodException e) { e.printStackTrace(); } System.out.println(claCon1); Constructor[] claCon2 = claStu.getConstructors();//查找此類的所有的構造方法 System.out.println(Arrays.toString(claCon2)); Constructor[] claCon3 = claStu.getDeclaredConstructors();//查找此類的所有的聲明的構造方法 System.out.println(Arrays.toString(claCon3)); } }
-
效果圖:
總結:
1).Class類:代表一個類。
2).Field 類:代表類的成員變量(成員變量也稱為類的屬性)。
3).Method類:代表類的方法。
4).Modifier類:代表修飾符。
5).lConstructor 類:代表類的構造方法。
6).Array類:提供了動態創建數組,以及訪問數組的元素的靜態方法。(以上文檔沒有Array的示例 ,明天補充)