Java的反射機制

2021-07-12 04:00:21 字數 2764 閱讀 4486

public class person 

public

void setname(string name)

public

int getage()

public

void setage(int age)

public person()

public person(string name)

private person(int name)

public

void eat()

public

void run(string address)

public

void run(string address,int num,string ss)

public

string test(string

str)

private

string test2(string

str)

public

static

string test3(string

str)

public

static

void main(string args)

}

//第一種

class clazz1 = class.forname("cn.csx.reflect.person");

//第二種

class clazz2 = person.class;

//第三種

class clazz3 = new person().getclass();

//建立物件

person p = (person) clazz1.newinstance();

//反射類無參的構造方法

@test

public

void test1() throws classnotfoundexception,

nosuchmethodexception, instantiationexception,

illegalacces***ception, invocationtargetexception

//反射類有參的構造方法:public person(string name)

@test

public

void test2() throws classnotfoundexception,

nosuchmethodexception, instantiationexception,

illegalacces***ception, invocationtargetexception

//反射類私有的、有參的構造方法:private person(int name)

@test

public

void test3() throws classnotfoundexception,

nosuchmethodexception, instantiationexception,

illegalacces***ception, invocationtargetexception

public class demo3 

//反射:run(string address)

//反射:public void run(string address,int num,string ss),new string); }

//反射:public string test(string str) (帶返回值)

@test

public void test4() throws exception

//反射:private string test2(string str) 私有方法

@test

public void test5() throws exception

//反射:public static

string test3(string str)

//反射:public static

void main(string args) );//main(string args)

new object});//main(string args)

//public object invoke(object obj, object... args)

//public object invoke(object obj, object args)

//public void run(string name,string password)

object)

"flx","123");

}}

public class demo4 

//反射:public string name;

@test

public void test2() throws exception

//反射:public final string password = ""; //欄位或成員變數

@test

public void test3() throws exception

//反射:private int age; 私有字段

@test

public void test4() throws exception

}

java反射機制

private string getmethod catch instantiationexception e1 catch illegalacces ception e1 try catch illegalargumentexception e catch illegalacces ception...

Java反射機制

1.反射是指程式在執行時,可以通過反射機制拿到任何乙個類的內部所有資訊。2.可以獲得類的所有屬性資訊,包括私有屬性,並對其進行操作 3.可以獲得物件所對應的類 4.可以拿到本類,或父類中的方法,並且對其進行操作。常用方法 getname 獲得類對應的名稱 getdeclaredfields 獲得類中...

java 反射機制

當我們編寫的類生成的位元組碼檔案中的二進位制位元組流被類載入器載入到記憶體當中時,會在方法區產生乙個class物件,作為訪問這些類資訊的入口。假如我們編寫乙個person類,獲取class物件一般有3種方式 class有4個獲取字段資訊的方法,包括靜態變數和例項變數 所有的public欄位,包括其父...