眾所周知,獲取物件中的class物件有三種:
注意:class物件的建立和載入只執行一次!!!
開發中最受青睞:foename
因為foename擴充套件性好,靈活度高,我們程式設計師往往不想把**寫死,
所有我們就利用forname方法的引數來進行多次運用,我們可以將字串放在檔案裡,
利用io流技術讀取到之後放到foename裡,後面我們再想獲取不同的class的物件的時候,
就不用改**了,直接改檔案就行了
下面示例**:
person:(注意:我們後面的**都用person物件)
public
class
person
public
person()
public
person
(string name,
int age)
private
person
(string name)
public string getname()
public
void
setname
(string name)
public
intgetage()
public
void
setage
(int age)
@override
public string tostring()
';}}
/**
* 三種獲取class物件
*/public
class
test01
}
獲取class物件中的構造:
1. constructor getconstructors()
獲取所有的public修飾的構造方法
2. constructor getconstructor(class... parametertypes)
根據引數型別獲取構造方法物件,只能獲得public修飾的構造方法。
如果只獲取空參構造,getconstructor()
3.根據獲取出來的構造方法物件,建立物件
t newinstance(object... initargs)
如果new無參構造,引數不用寫
public
class
test02
//獲取有參構造
private
static
void
method
(class aclass
)throws exception
//獲取空參構造
private
static
void
method1
(class aclass
)throws exception
//獲取空參構造
private
static
void
method2
(class aclass
)throws exception
}}
獲取私有的構造:
constructorgetdeclaredconstructor(class<?>... parametertypes)
可以獲取私有的構造
constructor<?> getdeclaredconstructors()
可以獲取所有的構造,包括私有的
accessibleobject中的方法
void setaccessible(boolean flag)
flag:false-->代表的是不能訪問私有的
flag:true-->解除了私有的許可權
public
class
test03
}
獲取class物件中的成員方法:
method getmethods() 獲取所有的方法,public
method getmethod(string name, class<?>... parametertypes)
name:獲取的方法名
parametertypes:該方法的引數型別
object invoke(object obj, object... args)->獲取的方法返回值不知道,
所以返回值型別為object
public
class
test04
}}
需求:
利用反射技術,建立物件,執行物件的方法
配置檔案,寫的是類的名字和方法名字
io讀取檔案,獲取類和方法名, 反射呼叫
需要在src目錄下建立properties檔案
//在src下建立乙個pro.properties檔案
classname=com.aoshen.day15.class02.person
methodname=eat
/**
* 反射小案例
*/public
class
test05
}
反射機制的介紹
反射機制 程式在執行的過程中載入 一些 只知道相關名字 的類,以下 在程式執行時載入user類。class c class forname com.bjsxt.reflect.user 乙個類被載入後,jvm會建立乙個對應類的class物件,類的整個結構資訊會被放到class物件中。這個class物...
反射的基本介紹
反射 通過字串的形式匯入模組,通過字串的形式去模組中尋找指定函式 字段 全域性變數等 根據使用者輸入的內容匯入模組 由以下四個內建函式提供 hasattr getattr setattr delattr,改四個函式分別用於對物件內部執行 檢查是否含有某成員 獲取成員 設定成員 刪除成員。classf...
robots txt詳細介紹
robots.txt基本介紹 當乙個搜尋機械人 有的叫搜尋蜘蛛 訪問乙個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜尋機械人就會按照該檔案中的內容來確定訪問的範圍 如果該檔案不存在,那麼搜尋機械人就沿著鏈結抓取。另外,robots.txt必須放置在乙個站點的根目錄下,...