Java反射的兩種使用方法(推薦)
1.創(chuàng)建User.java
package com.tao.test;
public class User {
private String name;
private int id;
public User() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
2.main方法
package com.tao.test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
public class test {
public static void main(String[] args) throws Exception, SecurityException {
//第一種 Constructor<?>方法
Constructor<?> a = User.class.getDeclaredConstructor();
a.setAccessible(true);
User b = (User)a.newInstance();
b.setId(1);//id字段
b.setName("test");//name字段
System.out.println(b.getId()+" "+b.getName());
//第二種 Class<?>方法
Class<?> c = Class.forName("com.tao.test.User");
Field idF = c.getDeclaredField("id");//id字段
idF.setAccessible(true);
Object o = c.newInstance();
idF.set(o, 2);
Field nameF = c.getDeclaredField("name");//name字段
nameF.setAccessible(true);
Object name = c.newInstance();
nameF.set(name, "jack");
System.out.println(idF.get(o)+" "+nameF.get(name));
//普通new
User user = new User();
user.setId(3);
user.setName("tery");
System.out.println(user.getId()+" "+user.getName()+" "+user.getClass());
}
}
3.控制臺(tái)輸出:
test
jack
tery class com.tao.test.User
總結(jié)
以上所述是小編給大家介紹的Java反射的兩種使用方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Spring創(chuàng)建bean實(shí)例的幾種方式分享
這篇文章主要介紹了Spring創(chuàng)建bean實(shí)例的幾種方式分享,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07
Java實(shí)現(xiàn)京東聯(lián)盟API數(shù)據(jù)獲取功能
這篇文章介紹了Java獲取京東聯(lián)盟API數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
Java實(shí)現(xiàn)簡(jiǎn)單的五子棋小游戲
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10
springboot下添加全局異常處理和自定義異常處理的過程解析
在spring項(xiàng)目中,優(yōu)雅處理異常,好處是可以將系統(tǒng)產(chǎn)生的全部異常統(tǒng)一捕獲處理,自定義的異常也由全局異常來捕獲,如果涉及到validator參數(shù)校驗(yàn)器使用全局異常捕獲也是較為方便,這篇文章主要介紹了springboot下添加全局異常處理和自定義異常處理,需要的朋友可以參考下2023-12-12

