1.Java反射的定義
在 Java 中的反射機(jī)制是指在運行狀態(tài)中,對于任意一個類都能夠知道這個類所有的屬性和方法;
并且對于任意一個對象,都能夠調(diào)用它的任意一個方法剥懒;這種動態(tài)獲取信息以及動態(tài)調(diào)用對象方法的功能成為 Java 語言的反射機(jī)制
2.Java反射API
反射 API 用來生成 JVM 中的類、接口或則對象的信息合敦。
- Class 類:反射的核心類初橘,可以獲取類的屬性,方法等信息充岛。
- Field 類:Java.lang.reflec 包中的類保檐,表示類的成員變量,可以用來獲取和設(shè)置類之中的屬性
值崔梗。
- Field 類:Java.lang.reflec 包中的類保檐,表示類的成員變量,可以用來獲取和設(shè)置類之中的屬性
- Method 類: Java.lang.reflec 包中的類展东,表示類的方法,它可以用來獲取類中的方法信息或
者執(zhí)行方法炒俱。
- Method 類: Java.lang.reflec 包中的類展东,表示類的方法,它可以用來獲取類中的方法信息或
- Constructor 類: Java.lang.reflec 包中的類盐肃,表示類的構(gòu)造方法。
3.通過反射創(chuàng)建對象
- 使用 Class 對象的 newInstance()方法來創(chuàng)建該 Class 對象對應(yīng)類的實例权悟,但是這種方法要求
該 Class 對象對應(yīng)的類有默認(rèn)的空構(gòu)造器砸王。
調(diào)用 Constructor 對象的 newInstance(),也就是只能造空參數(shù)的對象
- 使用 Class 對象的 newInstance()方法來創(chuàng)建該 Class 對象對應(yīng)類的實例权悟,但是這種方法要求
- 2.先使用 Class 對象獲取指定的 Constructor 對象峦阁,再調(diào)用 Constructor 對象的 newInstance()方法來創(chuàng)建 Class 對象對應(yīng)類的實例,通過這種方法可以選定構(gòu)造方法創(chuàng)建實例