今天分享一些反射的小知識
public class reflectdemo01
}class student extends person
}class teacher extends person
}
①在執行時判斷任意乙個物件所屬的類;
②在執行時構造任意乙個類的物件;
③在執行時判斷任意乙個類所具有的成員變數和方法;
④在執行時呼叫任意乙個物件的方法;
⑤生成動態**
1.在建立型別的物件的時候,獲取的是型別的class物件的乙個映象|複製體
2.在乙個類載入到記憶體時就會存在這個型別唯一的class物件(方法,屬性,構造器…)
3.如果能夠拿到乙個型別的class物件,就可以操作這個類
獲取乙個型別的class物件的方式:
1.類名.class
2.物件.getclass()
3.class.forname(報名+類名|許可權定名)
public class reflectdemo02
}
public static void testmethod(class cls) throws illegalacces***ception, illegalargumentexception, invocationtargetexception, instantiationexception, nosuchmethodexception, securityexception
通過反射獲取類中構造器:
constructorgetconstructor(class<?>... parametertypes)
返回乙個 constructor 物件,它反映此 class 物件所表示的類的指定公共構造方法。
constructor<?> getconstructors()
返回乙個包含某些 constructor 物件的陣列,這些物件反映此 class 物件所表示的類的所有公共構造方法。
constructorgetdeclaredconstructor(class<?>... parametertypes)
返回乙個 constructor 物件,該物件反映此 class 物件所表示的類或介面的指定構造方法。
constructor<?> getdeclaredconstructors()
返回 constructor 物件的乙個陣列,這些物件反映此 class 物件表示的類宣告的所有構造方法。
通過反射建立物件:
1.constructor->newinstance(引數的class物件...)
2.class類中newinstance()
*/public static void testconstructor(class cls) throws instantiationexception, illegalacces***ception, illegalargumentexception, invocationtargetexception, nosuchmethodexception, securityexception
}class user
public user(string name)
private user(string name,int age)
user(string name, double money)
public user(string name, int age, double money)
public string getname()
public void setname(string name)
public int getage()
public void setage(int age)
public double getmoney()
public void setmoney(double money)
public void haha()
private static void hehe()
void xixi()
@override
public string tostring()
}
打卡第十七天
第二次了,又沒過.有時候會有一種失敗感,這幾年好像什麼都沒做好,過的好像也不是很開心。昨天兵查過成績後心情就低落起來了,尤其是聽到晨晨得知她沒過時發出的驚訝聲音 你竟然沒過?時,心情立馬跌到了谷底,回到宿舍就再也繃不住了,大哭了一場,媽媽打 詢問情況,看到女兒哭的傷心,竟也無措起來,不知如何安慰。於...
失業第十七天
失業過了十七天,今天進行了第三場面試,說來也巧有好幾個同學在面試的公司,哈哈哈 找個角落了解下內幕 每個公司都有各自的風格,每個面試官也有各自的特點,才面了三家公司就感受到了完全不同的形式,只有hr面試的內容基本相似,簡單說說吧 第一家 技術面試筆試 上機面試內容就聊聊題目,接著聊聊學校生活,在聊的...
寒假第十七天
python連線資料庫 今天學習了一下python如何連線資料庫以及增刪改查 首先我用的是pymysql,是python連線mysql的乙個庫 首先先得安裝pymysql 命令pip install pymysql 具體 import pymysql 引用pymysql模組 開啟資料庫連線db py...