1.反射:動(dòng)態(tài)獲取類的信息,以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能。可以理解為動(dòng)態(tài)看透類的能力。
2.主要功能:查看類的屬性,普通的方法和構(gòu)造器
3.常用方法:
(1)public String getName()
返回此Class對(duì)象所表示的實(shí)體的全限定名稱。
(2)public Field[] getFields()
返回此Class對(duì)象所表示的實(shí)體的所有公共屬性。
(3)public Field[] getDeclaredFields()
返回此Class對(duì)象所表示的實(shí)體的所有字段,但不包括繼承的字段。
(4)public Method[] getMethods()
返回此Class對(duì)象所表示的實(shí)體的公共方法。
(5)public Method[] getDeclaredMethods()
返回此Class對(duì)象表示的實(shí)體的所有方法,但不包括繼承的方法。
(6)public Method getMethod(String name,Class... parameterTypes)
返回此Class對(duì)象所表示的實(shí)體的指定公共成員方法,name指定方
法名稱,parameterTypes指定方法參數(shù)類型。
(7)public Constructor[] getConstructors()
返回此Class對(duì)象所表示的類的所有公共構(gòu)造方法。
(8)getDeclaredConstructors()
返回此Class對(duì)象表示的類聲明的所有構(gòu)造方法。
(9)getDeclaredConstructor(Class...parameterTypes)
返回此Class對(duì)象所表示的類的指定構(gòu)造方法。
publicClass getSuperclass()
返回此Class對(duì)象所表示的實(shí)體的超類的Class。
(10)public Class[] getInterfaces()
確定此Class對(duì)象所表示的類實(shí)現(xiàn)的接口。
(11)public T newInstance()
創(chuàng)建此Class對(duì)象所表示的類的一個(gè)新實(shí)例。
(12)public Package getPackage()
獲取此類的包。 【String
[Package].getName()】
4.注解:是代碼里的特殊標(biāo)記,這些標(biāo)記可以在編譯、類加載、運(yùn)行時(shí)被讀取,并執(zhí)行相應(yīng)的處理
(1)、使用原因:編寫代碼的時(shí)候也會(huì)盡量的去用注解,一是方便,二是代碼更加簡(jiǎn)潔。
(2)常用注解:
@Override,表示當(dāng)前的方法定義將覆蓋超類中的方法。
@Deprecated,使用了注解為它的元素編譯器將發(fā)出警告,因?yàn)樽⒔釦Deprecated是不贊成使用的代碼,被棄用的代碼。
@SuppressWarnings,關(guān)閉不當(dāng)編譯器警告信息
unchecked抑制單類型的警告,不檢查,all抑制所有類型的警告