java反射機制示例
java反射
JAVA反射機制是在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機制。
package C_20130313;
import java.lang.reflect.Method;
class User
{
private String name;
public User(){}
public User(String name)
{
this.name=name;
}
public void say()//無參的方法
{
System.out.println("大家好,我叫"+name+"!");
}
public void say(String str)//有參的方法
{
System.out.println("大家好,我叫"+name+"!"+str+",我是有參的方法!");
}
}
/**
* @author LXA
* 反射最簡單的例子
*/
public class反射
{
public static void main(String[] args) throws Exception
{
Class c=Class.forName("C_20130313_反射.User");//通過反射找到對應(yīng)的類
Method m1=c.getMethod("say");//找到名字叫做say、且無參的方法
Method m2=c.getMethod("say",String.class);//找到名字叫做say、且有一個String類型參數(shù)的方法
m1.invoke(c.newInstance());//注意newInstance()調(diào)用的是無參的構(gòu)造方法?。?!
m2.invoke(new User("劉顯安"),"哈哈");//通過有參的構(gòu)造方法實例化一個對象
}
}
相關(guān)文章
java使用java.io.File類和java.nio.file.Path類對文件重命名
這篇文章主要給大家介紹了關(guān)于java使用java.io.File類和java.nio.file.Path類對文件重命名的相關(guān)資料,本文僅為日常操作記錄,方便后期使用查找本地電腦文件太多了,又不想一個一個重命名,改名字什么的很麻煩,需要的朋友可以參考下2024-02-02Java String 和 new String()的比較與區(qū)別
這篇文章主要介紹了Java String 和 new String()的區(qū)別的相關(guān)資料,需要的朋友可以參考下2017-04-04java通過jacob實現(xiàn)office在線預(yù)覽功能
這篇文章主要為大家詳細介紹了java通過jacob實現(xiàn)office在線預(yù)覽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-08-08