解析成員方法
1、利用method執行方法
method物件提供了如下方法,用於執行它所代表的方法:
public object invoke(object obj,object... args)
使用method可以執行無參、有參、多個參(帶陣列和基本資料型別)、靜態、私有的 方法。
建立類的例項的兩種方法:1、可以通過newinstance方法來建立
class cls = class.forname("cn.csdn.reflect.student");
student entity = (student)cls.newinstance();
2、也可以通過constructor的方法來建立
class cls = class.forname("cn.csdn.reflect.student");
constructor csr = cls.getconstructor(null);
student entity = (student)csr.newinstance(null);
3、這兩種方法的區別:class類中的newinstance方法只能在student中有乙個預設無引數構 造器時才能使用
例:1、get methods 是返回多有的方法:
@test
public void test()throws exception
}2、解析:public void study方法
//當解析沒有返回值的方法時invoke方法的引數值為空
//有類的物件直接呼叫newinstance()必須確保該類中有乙個無參構造器
@test
public void test1()throws exception
3、解析私有方法
@test
public void test3()throws exception
4、解析main()方法
@test
public void test4()throws exception});
string src={};
md.invoke(entity, (object)src);
}解析成員屬性
field物件提供了如下方法,用於設定、獲取物件屬性的值:
public void set(object obj,object value)
public object get(object obj)
//返回所有的物件屬性
例:@test
public void test()throws exception
}//獲取private屬性的值
@test
public void test2()throws exception
解析成員屬性和成員方法
解析成員方法 1 利用 method 執行方法 method物件提供了如下方法,用於執行它所代表的方法 public object invoke object obj,object.args 使用method 可以執行無參 有參 多個參 帶陣列和基本資料型別 靜態 私有的 方法。2 建立類的例項的兩...
成員變數和屬性
成員變數的作用域 inte ce person nsobject 屬性生成器 屬性生成器 property 1.自動的生成 getter和setter方法的 宣告 2.需要知道 引數型別和屬性名稱 3.是編譯器的特性 synthesize 生成getter 和 setter方法,最為簡單的實現 sy...
runtime獲取屬性和成員變數方法
成員變數 1 成員變數的定義 ivar 例項變數型別,是乙個指向objc ivar結構體的指標 typedef struct objc ivar ivar 2 相關函式 獲取所有成員變數 class copyivarlist 獲取成員變數名 ivar getname 獲取成員變數型別編碼 ivar ...