java反射
JAVA反射機制是在運行狀態中,對於任意一個類,都能夠知道這個類的所有屬性和方法;對於任意一個對象,都能夠調用它的任意一個方法和屬性;這種動態獲取的信息以及動態調用物件的方法的功能稱為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");//透過反射找到對應的類
Method m1=c.getMethod("say");//找出名字叫做say、無參的方法
Method m2=c.getMethod("say",String.class);//找出名字叫做say、有一個String型別參數的方法
m1.invoke(c.newInstance());//注意newInstance()呼叫的是無參的建構方法! ! !
m2.invoke(new User("劉顯安"),"哈哈");//透過有參的建構方法實例化一個對象
}
}