這篇文章將為大家詳細講解有關java反射機制怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
介紹
在運行時判斷任意一個對象所屬的類; 在運行時構造任意一個類的對象;
3.
通過靜態屬性
Person person=( Person) cls.newInstance();
forName()
.
public Constructor[] getDeclaredConstructors b. public
Constructor getConstructor(Class... parameterTypes)
反射獲取方法 b. getReturnType()
獲取指定的方法(<span lang="EN-USSegoe" ui",sans-serif;color:#212529;background:="" white'="">"
a.
b.
父類和父接口getSuperclass()
b.
三.
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class ReflectTest {
public static Car initByDefaultConst() throws Throwable {
//①通過類裝載器獲取Car類對象
ClassLoader loader = Thread.currentThread().getContextClassLoader();
Class clazz = loader.loadClass("com.smart.reflect.Car");
//②獲取類的默認構造器對象并通過它實例化Car
Constructor cons = clazz.getDeclaredConstructor((Class[]) null);
Car car = (Car) cons.newInstance();
//③通過反射方法設置屬性
Method setBrand = clazz.getMethod("setBrand", String.class);
setBrand.invoke(car, "紅旗CA72");
Method setColor = clazz.getMethod("setColor", String.class);
setColor.invoke(car, "黑色");
Method setMaxSpeed = clazz.getMethod("setMaxSpeed", int.class);
setMaxSpeed.invoke(car, 200);
return car;
}
public static void main(String[] args) throws Throwable {
Car car = initByDefaultConst();
car.introduce();
}
}
關于“java反射機制怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。