版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 ClassLoader 將耳 load 到內(nèi)存code? sequent 12、1 Java類加載機制 。前而我們給大家介紹過J VM得功能(提供運行時環(huán)境、垃圾回收機制與提供中立得體系結(jié) 構(gòu))。在提供運行時環(huán)境中有個子功能就是Class Load e r(類加載器),它主要用于將主類(即 包含了 main方法得類)加載到JVM得code s e gmen t (代碼區(qū))。然后運行環(huán)境找 到main方法(程序入口)開始執(zhí)行程序.在整個程序運行得過程中,會有更多得cla s s被動 態(tài)Load到內(nèi)存中。類加載機制如圖12-1所示: 圖12-1類加載機制 需要注意得就是:類并非一次性就全部加載完
2、畢,而就是在需要得時候(運行期間)動 態(tài)加載到內(nèi)存。利用j ava-v e r b ose:class Test可以觀察類得具體加載過程。 12、2 Java反射機制 什么就是反射 Java程序在運行期間可以動態(tài)加載、解析與使用一些在編譯階段并不確左得類型數(shù) 據(jù),這一機制被稱為反射(Refl ection).反射庫(refle c t ion libra r y)提供了一個非常豐富 且精心設(shè)計得工具類,以便編寫能夠動態(tài)操縱Ja va代碼得程序。使用反射,在設(shè)計與運 行中添加新類時,能夠快速得應用開發(fā)工具動態(tài)得查詢新添加類得能力。 反射方式 反射機制提供得功能 加載運行時才能確定得數(shù)據(jù)類型 解析
3、類得結(jié)構(gòu)、分析類得能力、獲取英內(nèi)部信息 操作類(進行實例化訪問非靜態(tài)成員,直接利用類劃訪問靜態(tài)成員)或其實例(訪問 屬性、調(diào)用方法、創(chuàng)建新對象) 1 2 o 2o 1 Clas s 類 。在程序運行期間,Java運行時系統(tǒng)始終為所有得對象維護一個被稱為運行時得類型標識, 被稱為Cla s s (注意與c 1 ass得區(qū)別)。通過Class可以完整得得到一個類中得完整結(jié) 構(gòu),包括此類中得方法立義,屬性立義等。Class就是反射得源頭或入口,通過査瞧JDK幫助 手冊英常見方法如圖: Class類的常用方法 No. 類型 描述 1 public static Class forName(Strlng
4、 c assName) throws ClassNotFou nd Exception 普通 傳入完整的“包類”名稱實例化 Oass對象 2 public Constructor getConstructors() throws SecuritvException 普通 得到一個癸中的全部構(gòu)造方法 3 public Field getDedaredFields() throws SecurityException 普通 得到一個類父類中的全部厲性 4 public Field getFields() throws SecurityException 普通 液用本類的全部屬性 5 public
5、Method!) getMethods() throws SecurityException 普通 得到一個類中的全部方法 6 public Method getMethod(String namezCl3S$. parameterTypes) throws NoSuchMethodException.SecurityException 普通 返回一個Method對象,并沒置一 個方法中的所有參數(shù)類型 7 public Class) getlnterfacesf) 普通 得到一個類中所實現(xiàn)的全部接廠 8 public 5tring getNamef) 普通 得到一個類完整的包類冬稱 9 pub
6、lic Package getPackageQ 普通 得到一個類的包 10 publicClass? super getSuperclass() 普通 得到一個類的父類 11 publicT newlnstanu() th rows Instantiatio nExcaptiorJIlQgalAccQSsExcQption 普通 根雰Class定義的類實例化對象 12 public Class getComponentType() 普通 返回表示數(shù)組類型的Class 13 public boole合n isArray() 普通 判斷此Class是否是一個數(shù)組 1 22。2如何獲取C lass類
7、對象 12. 2. 2、1針對引用數(shù)據(jù)類型 通過 Class L oade r 得 1 oadClass 方法 C 1 a s s cl = Clas s Loade r、gets y s t e mClass L o ad e r () load Cla s s C i t j o b、P er s on); 調(diào)用靜態(tài)方法Class、f o rName() Class, f o r Namef itjo b Person): Class、f orNam e Co r a c 1 c、jdbc、d i rv e r、Ora c 1 e Dri v er H ; 調(diào)用Obje c t類中定義得g
8、etCl a ss()方法 Per s o n p = new Pe r s on (): Cl a ss cl=p、get C lass(); C 1 ass c 2 = H e I 1 o M x g e t C 1 ass (); 使用、class表達式 Cla s scl = String、class; C 1 a s s c 2 = . itjo b Person、class; Classc3 = oraclex j d bc di r ver Ora cleDriver class; 12。2. 2、2針對基本數(shù)據(jù)類型及vo i d 使用、c 1 ass表達式 C 1 a s s
9、cl = int. class; Clas s c2 = d o u b lc. c 1 as s : C I ass c3 = v o i d . c 1 ass; 調(diào)用相應封裝類得Type屬性 Cl a ss cl = Int e g e r、TYPE: Cl a ss c 2 = Do u b 1 ex TYPE; Class c3 = Voi d、TYPE; 。示例如下: ry 引用數(shù)據(jù)類型 a/R 1利用ClassL o ader類得loaderCIass ( n類全名稱”):手動加載,會有異常 Sy s icm、out pri n tln(C 1 a s sLoadcr、ge t
10、S y stemC 1 assLoader ()、load Cla s s(”、itjobx PersonM )、g e tN a m e (); 。/1、2利用Class、forN a me (類全名稱);手動加載,會有異常 Systenu out、printl n (Class. forNamef itjob、Person”)、get N am e (); o /I、3調(diào)用Object類中定義得gctClass()方法 aSystem、o ut、printl n (new P e rson()、getC lass(). g e t Nam e (); 。/ 1、4使用、class表達式 g
11、 System, out、p r intln(Per s on、class、g e tName(); 。/2、基本數(shù)據(jù)類型與void 3/2、1使用、class表達式 g Sy s t e m、out、pri n tln( i nt、clas s、gc t Name (); oS y s t e m out. println(doub 1 c、class、g e tN a me(); wSys t cm、o ut、prin t In (voi d . c 1 a ss、get Name (): o /2、2 通過各自得包裝類、TYPE oSystenu out、prin t ln(Integ
12、e r TYPE); aSystem、out pr i ntl n (Double、TYPE); cat c h (Clas s NotFound E xce p tion e) ap、p ri n tStackTrace(): g 1 2.2. 3獲取實例對象 。不光可以取得對象所在類得信息,也可以直接通過Class類得n e w I n stanc e方法進行 對象實例化操作.n e win s t ance方法原型如下: pub 1 i c T newlnst a nee () th r o ws I nst a ntiationExc e p t i o ib I 1 lega 1 A
13、ccessExcept i o n 。調(diào)用過程: p、getC 1 as s ()、n e w I n st a n c e (): 或: Person、class、n e wlnstance (); 或: Class、f o r N ame ( 、itjob、Pers o n)、new 1 n stance () 創(chuàng)建一個Person類得實例。new I nstance方法調(diào)用默認得構(gòu)造器初始化新創(chuàng)建得對象, 如果這個類沒有默認得構(gòu)造器,就會拋岀一個異常. 要想調(diào)用有參構(gòu)造方法,則必須使用Co n st r uctor類得n ewlnstance方法. 12o 2.4獲取類得結(jié)構(gòu) c las
14、s類得實例用于表示運行時得Jav a數(shù)據(jù)類型,包括類、接口.數(shù)組.枚舉、注 解、基本數(shù)據(jù)類型。在類加載時,Java虛擬機會自動創(chuàng)建相應Class對象。通過反射得到 一個類得完整結(jié)構(gòu)要使用到j(luò)ava、lang, reflect包,此包下得常見類如下: java、lang r e fl e ctx F i e Id jav 8 . langx reflect、M e thod java. 1 a ng r e fleet、Cons t r uc t o r (T javax lan g r e fie c t、Modi f i e r j a va lan g re f 1 ectx Ar r a
15、y 12。2。4、1獲取類實現(xiàn)得所有接口 要想取得一個類所實現(xiàn)得全部接口,則必須使用Class類中得getlnt e rfaces()法。此 方法左義如下:publ i c Clas s g e tl n terface s ().因為一個類可以同時實現(xiàn)多個接口,因 此此方法返回一個C 1 ass類得對象數(shù)組,之后就可以直接利用Class類中得getName()方 法輸岀即可. 示例如卜一: i n t erf a ce A i n t er f ace B class Person implements A,B p u blic cl a s s Tes t a p ublic static
16、 voi d m a in(S t ring args) ”C1 a s s c = Pe r s o ik clas s getlnt e rfa c es (); fo r (Cl a s s cc : c) $ System、out、p r intln (cc、ge t Name (); 、 12.2. 4、2獲取類所繼承得父類 一個類可以實現(xiàn)多個接口,但就是只能繼承一個父類,如果沒有明確得指明繼承那個類, 則肯泄繼承得就是Object類。所以要想取得一個類得父類,可以直接使用Cl a ss類中得 getSup e rclass ()方法。此方法立義如下:public C 1 ass l
17、ang、reflect包中,常用方法如卜: Constructor類的常用方法 No. 類型 描述 1 public int getModifiers() 苦通 得到構(gòu)造方法的修飾符 2 public String getName() 苦通 得到構(gòu)造方法的名稱 3 public Class) getParameterTypesO 普通 得到構(gòu)造方法中參數(shù)的類型 4 public String toStringO 普通 返回此構(gòu)造方法的信息 5 publicT newlnstance(Object. initargs) throws InstantiationException, IHegalA
18、ccessException, IIlegaIArgumentExceptionz InvocationTargetException 普通 訶構(gòu)造方法中傳逐參數(shù),實例化 對象。 取得訪問修飾權(quán)限得時候卻發(fā)現(xiàn)返回得就是一個int數(shù)字而不就是publi c等類型得修 飾符關(guān)鍵字。這就是因為在整個Java中對于方法得修飾符就是使用一頂?shù)脭?shù)字表示出來得, 如圖所示: java.Iang.reflect.Modifier 中訪問修飾符的值 No. 訪問修飾符 int值 描述 1 default 0 釆用二送制夾對各個訪問修飾符 進行賦值.這樣可以確保任何的 訪問修飾符組合,相加得到的int 值是唯一的
19、3例如:public static final=l+8+16=25 2 public 1 3 private 2 4 protected 4 5 static 8 6 final 16 7 synchronized 32 如果要想把這個數(shù)字還原成用戶可以瞧懂得關(guān)鍵字,則必須依靠Modi ficr類完成, 此類左義在ja v a、lang、re flc c t包中.直接使用Modif i er類得以下方法即可將修飾符轉(zhuǎn) 變: pub 1 ic sta t ic S tri n g t oStrin g (i nt mod); 示例如下: imp o rt java, lang、re f 1 ec
20、tx *: cl a ss Pe r so n private String name; p r i vate int ag e : pub I i c P erso n () J pu b 1 i c Person(String name, i nt age) 。 this, name = name; a t h is、age = ag e ; E Overri d e p ub 1 ic St r i n g toStri n g() / TODO Aut o -genera t ed meth o d s tu b return 我叫 M + this、name + ,我今年” + t
21、his. age; 4 publ i c c 1 ass Tes t “public s ta t i c voi d ma i n(Stri n g args) /獲取所有得構(gòu)造方法 oConstnic t o r (? c s = Person、c lass getDeclaredC o nstructors (): for(Co n st r uctor (?c : cs) “/遍歷所有得構(gòu)造方法 。輸出構(gòu)造方法得修飾符 o Sys t em、out、println(M 構(gòu)造器修飾符:”+ Mod i fi e r toS t r i n g (c、getModi f ier s ();
22、 “/輸出構(gòu)造方法名稱 S y stem、o ut、p rint 1 nC構(gòu)適方法名:” + c、gc t N a me (); /輸出構(gòu)造方法所有參數(shù) 1 a ss c t =c、getParamet e r Ty p e s (): aif( c t I e n g th = 0 ) 。o S y s t e m、o ut、p r i n tin (”這就是無參得構(gòu)造方法); 皿1 s e i n t i = 0; nf o r (Class p : c t) 。 a System、ou t . pri n tin ( ” 參數(shù)” + (i+ 1 )+ M +p g etNam e ();
23、 3 a i +; b oo j J E 現(xiàn)在我們已經(jīng)知道如何獲取一個類得所有構(gòu)造方法規(guī)范,此時我們可以利用Const r uctor類得ncwl n st a nee調(diào)用有參得構(gòu)造方法來實例化對象,其過程如下: k 通過C 1 ass類中得 getConstru ctors ()方法或 ge t DeclaredCon s tructo r s()取得本類中得全部構(gòu)造方法. 2、分析每個構(gòu)造方法得參數(shù)情況,了解每個構(gòu)造方法得原型. 3 x 通過Class類中得ge t De c laredConst ru c tor(C 1 ass、 paramete rTy pe s )方法,向構(gòu)造方法中
24、傳遞一個對象數(shù)組進去,里面包含了構(gòu)造方法中所需得各個參數(shù). 通過調(diào)用 Con structor 得 n e win s t a n c e(Obje c t 八、i nitargs)方法 實例化對象。 示例如下: try C o n st r uctor c = Per s oik cl a ss、get I) ecl a redConstnictor(Str i ng c 1 ass, int class); Sy s t cm、out、p r in t ln( c、n e win s tance(M 張三,25); c atch (II 1 egal A r gumentEx c e p
25、t i on e) 。e、printStackTr a c e (); c a t ch (Instan t ia t ionExc e ption e) 代、p r intSt a ckTrace (); c a t c h (Illeg a I AccessExcept i on e ) c、prin t S t ackT r a c e (): ) c at c h (Invoc a t i onTa r g e tE x c e pt i on e ) 代、printSta c kTrace (); c a tch (Sec u r i t y Excepti on el) e 1、p
26、rintStackTrace(): catch (NoSue h McthodEx c e ptione 1 ) 2 1、print S t a c kTraceO: 1 2。2。4、4獲取類中得方法 要想取得一個類中得全部方法,可以使用Cl a ss類中得getD e clare d Met h ods ()方法, 此方法返回一個M ethod類得對象數(shù)組,如果要想進一步取得方法得具體信息,例如:方法 得參數(shù),拋出得異常聲明等等內(nèi)容,就必須依靠Method類來完成. 輸岀本類中得全部方法:p u b 1 i c M e t h od| g e tDecla r edMeth o d s ()
27、 thr o ws Se c u r ityEx c epti o n 輸岀全部得方法(包括父類中得):pu b lie M e t hodC getMetho d s() thr o ws Security E x c ept i on 方法操作: 取得全部得返回值:public Cl a s s ge t Re t urnlr pe () 取得全部得參數(shù):pub 1 ic Class?) getPar a me t e rType() 取得修飾符:pu b 1 i c i nt ge t Mo d ifi e rs () 取得異常信息:P u b 1 i c CI a ss getE x
28、ceptionlpe() 示例如下: /獲得非繼承得所有方法 M e thod me t hods = P e rson、class、ge t DcclaredMethods(): for (Me t hod m : m e thods) a Sys t e m、out print(M o difie r、toStrin g (m g etModi f iers () + + m、ge t Retu r nType() getName() + H + m、getNam e ()+ *( *); Cla s s p a r as = m、get ParameterTy p es (); 4b r
29、 (Cla s s p : p a ra s ) oooSystenu o u t p r i n t ( p、g etName ()+”); ) S y s tem ou t、p r inti n (M ) H ): 通過Class類得g e tMethod方法或getDecla r edMet h od方法,根據(jù)一個類中得方法名 稱及參數(shù)類型取得Method對象,并通過i nvo kc ()方法調(diào)用指泄得方法。i nv o ke方 法原型如下: p ub 1 ic Obje c t inv o k e (Objec t obj, Obj e c t、 ar g s) thro ws Ill
30、 e g alAccess E xcep t ion III e galAr g u mentExcept i o n, Invocati o n Targ e tExc e p ti o n 如果要調(diào)用得方法就是類得靜態(tài)方法,obj指定為nu 1 I即可,然后后面就是參數(shù) 列表。 如果就是非靜態(tài)方法,必須傳入一個類得實例化對象,然后后面就是參數(shù)列表。 如果方法就是無參方法: m、invo k e (obj): 。/非靜態(tài) m、i n vok e (nul 1 );。靜態(tài) 如果方法帶參數(shù): m、invo k e( o bj, 10,20); 靜態(tài) m、i n voke(null, 10,2 0
31、): /非靜態(tài) 示例如下: Perso n類中得方法原型: pub I i c v oid f uni (int a, int b); p ubl i c static v oid f un2 (int a St r ing b): 調(diào)用方式: V/非靜態(tài)方法調(diào)用方式 a met h od = Perso n . cl a s s、getD e cl a redM e t hod (fUn V i n t cla s s, i nt、c la s s): m e th o d、inv o ke (obj , 1 0, 2 0 ); /靜態(tài)方法調(diào)用方式 smethod = Person, cla
32、ss、getDeclar e d Me t h od ( f int、cl a s s, St ring、c i ass); s me t h o d、in v oke(nul 1,10, b e llo worl d java 11 ); 12. 2。4、5獲取類中得屬性 在反射操作中也同樣可以取得一個類中得全部屬性,但就是在取得屬性得時候有以下兩 種不同得操作: 得到本類、實現(xiàn)得接口與父類中得所有公共屬性: publ i c Fiel d getFiel d s () thr o w s Sec u rit y Exc e p tion 得到本類中得全部屬性(包括私有屬性): p ubli
33、 c Fie 1 d getDecla r edF i eld s () throw s Se c urityE x cept i o n 以上方法返回得都就是Field得數(shù)組,每一個Field對象就表示類中得一個屬性。 屬性操作: 取得屬性修飾符:public int g e tModi f iers() 取得屬性類型:publ i c Cla ss Objec t v a lue) t hrow s I I le g alArgument E xcep t ion, Il I egalAc c e ssE x cept i o n 設(shè)置屬性可見(在訪問私有屬性得時候,必須讓這個屬性可見):
34、 p u blic v o id s e tAcce s s ible (bool e an fla g ) t h rows S ecurityExcep t i 示例如2 Field f = Per s on class. getDeclaredFiel d ( M nameM); / /name 就是本類中 得私有屬性 f set A c c e s s ibl e (t r uc);。/設(shè)置其可見 f、set (obj,李四);o 。/設(shè)置屬性 Systemout% p r intln(f. get ( obj) );/取得屬性 與方法類似,如果類中得屬性就是static修飾得,則ge
35、t與s et方法中得obj為n nil 即可。 獲取類結(jié)構(gòu)信息綜合實例: a p ackage r e fl e ct: import java、la ng、reflect、*: i m p ort jav a、uti 1 Sc a nner; pu b lie class Ref 1 ectTest pu b lie s t ati c void p rintConstruc t ors(Class cl) C on s t r uctor cons t r ucto r s = cl、getDeclared Con s tnict ors(); 。 fo r (Constnictor c
36、: c o nstruc tors) aS tring name = c、get Nam e (); Syst e m. o u t、p r i n t C ); a S tr i ng mo difier s = Modifiert oStri n g (c g e tMod i fie r s (): Zf (modifiers、leng t h ()0 ) aSystem、out、pr i nt (modifi e rs + M ); 3。S ystenK out、p r int ( n ame +”(”); aClass par a m T y pes = c、g e t Parame
37、te r T ypes(): 。for ( i nt i = 0; i 0) 4 oSys t em、ou t、pri n t (u,); a“System、ou t、print( p aramTy P es 訂、getName (): 4 System、o ut p r inti n (J: M); 。 叩 u blic static v o i d p ri n tMethod s (Class r e tTy p c = m. getR e tur n Ty P e(): g S yst e m、out、p r i nt(H J; a oS (ring modi fiers = Mo d
38、 if i c r、 t o S t r i ng (m、g e t Mo d i f ie r s (); 2 i f (modifiers、len g th() 0 ) 。“Sys t cm、o u t p r int(mod i fier s + H H): a S y s t e m out pri n t (re tType get N ame() + * + n a me + H(M ); oC 1 a ss par a mTypes = m、getParam e tciT y pes(): a fo r (in t i =0 : i v par a mTyp e s、length
39、: i+) zif(i 0) System out p r int ( M ,); 。Sys tenK out print ( p aram Typ e s 訂、ge t Name (); 。 。System、out、p r int 1 nC):): 3 ) public static void printF i eld s (Class (? cl) 。 Field! fie I ds = cl、getDe c laredFiel d s (); 。for (Fi eldf: fields) Clas s type = f、g e tlp e (): S t ring n a me = f
40、. getNam e (); 2Syst e m、ou t、p ri n t(); St r ing modifi e rs = Modifier、to S tri ng(f、g e tModifie r s (); if (mod ifiers length() 0 ) 。 System、o ut pr i n t(m o d i fier s + *): “S y st e m、out. pr i n t 1 n (typ e . get N ame () +* + name+ ”:); 3 ) publi c static v 0 id m a in(String a r gs) Str
41、 i n g n am e = nul 1 : 4 f (ar g 1 e n gt h 0) 2 n ame = ar g s0: clsc a Sca n ncr i n = new S c a n ner (System in): gSystem、out、p rin t (HEnte r class nam e (e g :jav a . u t i 1、Date): H ): 2 n a me = i ik n e xt (); try Class (? cl = Class、f o rNamemam e ); aoC a s s toS t r ing(cK getModifi e
42、r s(); 。4 f (modi f iersx len gth() 0) Sy s t e m、out、p rint (modifier s +M J; System、out、p r in t (M c lass + n ame); if (su p e r cl != n u 11 a pr i n t Con s tnic t ors(cl); a System、out. p r i n t ln(); a printM e thod s (cl); a System、out、print In (): op r intF i elds (cl); 。System、out、p rintl
43、 n ( ”); J catch (ClassN o tFo u ndExc e ption e ) / TODO Auto-genera t ed cat c h bl o c k 心、p rintStac k T r ac e (): 。 J 12。2. 5通過反射操作數(shù)組 反射機制不光只能用在類中,也可以應用在任意得引用數(shù)據(jù)類型上。當然,這就包含了 數(shù)組,數(shù)組使用Arra y類完成. Class類中存在以下一個方法,用于返回一個數(shù)組對象得實例: p u blic Class?getpone n t Type () 接下來可以利用java、lang、reflect包中得Array類得有些方
44、法來操作: 開辟新數(shù)組: p u b lie s t a tic O b j ect n ewlnstan c e(Cla s s p on entTy pc, im、 dimcn s i o ns) th r ow s 11 legalArgumentEx c eption, N egati v e A rr a yS i zeExce p tion 得到數(shù)組指定下標得內(nèi)容: public s tatic Obj ect get(Obje c t array, int in d ex) t hrow s I lleg a lArg u men t E xception A r rayin d
45、 e x Ou t OfB o undsException 修改內(nèi)容: public stat i c vo i d s e t (Object a r ray, i n t index, Obj e ct v a lue) t h rows II 1 e ga 1 Argum e nt E xception. A r r ay I n dexOutOfBou n d sExcept i on 示例如下: 4n t arr =1,3,5,7,9; Cla s s out prin t ln(數(shù)組下標為 1 得元素為:+ Ar r a y、g ct(ncwA r r , D); 1 2 o 2
46、o 6 反射與 Anno tat i on 一個Annotati on要想讓英變得有意義側(cè)必須結(jié)合發(fā)射機制取得An notation中設(shè)置 得全部內(nèi)容。在Class類中存在以下幾種與Ann o ta t ion操作有關(guān)得方法: No. 方法 類型 描述 1 public A getAn no tati on( Cl ass annotationciass) 如果一個元索中存在注釋如取得全部注釋 2 public An notation ( getAnnctatlonsO 普通 返回此元素上的所有注禪 3 public An notation getDeclaredAn notation $()
47、 普通 返回宜掛存放在此元索上的所有注釋 4 public boolean isAnnotation) 普通 判斷元素是否表示一個注釋 5 public boolean isAnnotationPresent(C1 ass。/數(shù)據(jù)庫中字段得類型 /該注解指明數(shù)據(jù)庫中表得名稱 Tar g et ( v a 1 u e =E1 e m e n t Type. TYPE) Ret e n tion(val u e =Re t ent i o nPol icy. RUNT 1 ME) interfa c e TableAn n otatio n public S t ring ta b I e Nam
48、e () ;/數(shù)據(jù)庫中表得名稱 Tabl e An not a t ion (tableName=M stude n C ) / 表名稱為 s tudent c I as s Student /對應表st u dent中字段名sname,類型v arch a r C o 1 u mn A nnot a tion(colum n N a me= H s n am e , d b ty p e=dbType、v a rchar) “priv a t e Stri n g n a me; 。/ /對應表student中字段名sag e,類型num be r oC o lumnAn n otati o
49、n ( c ol u mnN a m e =5 s a g e* d b ty p c=dbType、n u mbc r ) pr i v a te in t age: p u bl i c S t ud e n t (St r i ng name, int a ge) 4hiSx name = name; th i s、a ge =age; J publi c String get Nam e () return name; ) public void s e tN a m e (S t ri ng n am e ) 。 t h is. name = n a m e 。p lib 1 ic int get Age() return ag e : J public v o id setAge(i n t age) ahis、age = ag e : cla s s ORMHc I p /把對象轉(zhuǎn)換為相應得sql語句插入到數(shù)據(jù)庫中 p u blic void insert (Ob j e c t t a ble) oStringB u ilder sb = n e w Str in gB u ilde r(); sb. append(ni n ser t into H); 。/ /獲得對象得Cla s s實例
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年考研一對一輔導協(xié)議
- 2024年研學項目合作與授權(quán)協(xié)議3篇
- 2024年版權(quán)質(zhì)押合同:金融機構(gòu)與著作權(quán)人之間的質(zhì)押融資
- 二年級數(shù)學計算題專項練習集錦
- 五年級數(shù)學(小數(shù)乘法)計算題專項練習及答案匯編
- 2024有限責任公司發(fā)起人關(guān)于風險控制與責任分擔協(xié)議3篇
- 2024幼兒園幼兒園教職工職業(yè)發(fā)展與晉升聘用合同3篇
- 2024年科研機構(gòu)研究員聘用協(xié)議3篇
- 2024年城市公共交通系統(tǒng)優(yōu)化改進合作項目協(xié)議
- 2024年聯(lián)合宣傳合同:媒體機構(gòu)與品牌雙方宣傳合作準則
- 第一學期六年級家長會課件1
- 年產(chǎn)120萬噸氧化鋁拜爾法生產(chǎn)高壓溶出工藝設(shè)計
- APQP產(chǎn)品開發(fā)流程與管理(汽車行業(yè))課件
- 2021年監(jiān)理工程師《建設(shè)工程案例分析(水利工程)》真題及答案
- 中心衛(wèi)生院關(guān)于成立按病種分值付費(DIP)工作領(lǐng)導小組及制度的通知
- 醫(yī)院感染監(jiān)測清單
- 社區(qū)老年人項目計劃書
- 《1.我又長大了一歲》教學課件∣泰山版
- 斷裂力學-1緒論課件
- 深基坑工程驗收表
- 醫(yī)學交流課件:RCT的基本概念及原則(PPT 37頁)
評論
0/150
提交評論