日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java 反射 orm_Java-反射机制简介

發(fā)布時(shí)間:2025/4/16 java 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 反射 orm_Java-反射机制简介 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是Java反射機(jī)制?

Java反射說的是在運(yùn)行狀態(tài)中,對于任何一個(gè)類,我們都能夠知道這個(gè)類有哪些方法和屬性。對于任何一個(gè)對象,我們都能夠?qū)λ姆椒ê蛯傩赃M(jìn)行調(diào)用。我們把這種動態(tài)獲取對象信息和調(diào)用對象方法的功能稱之為反射機(jī)制。

1. 反射機(jī)制介紹_Class對象獲取

(1) 反射機(jī)制的常見作用是什么?

1) 動態(tài)的加載類、動態(tài)的獲取類的信息(屬性,方法,構(gòu)造 器) 2) 動態(tài)構(gòu)造對象 3) 動態(tài)調(diào)用類和對象的任意方法、構(gòu)造器 4) 動態(tài)調(diào)用和處理屬性 5) 獲取泛型信息 6) 處理注解

(2) 獲取Class對象的方式有哪些?

1) 通過字節(jié)碼文件 2) 對象的 getClass()方法 3) Class 類的靜態(tài)方法 forName(….)反射機(jī)制動態(tài)操作方法_屬性_構(gòu)造器

(3) 使用反射機(jī)制獲取類的名稱和屬性的方法有哪些?

(4) 使用反射機(jī)制獲取方法及構(gòu)造方法的方法有哪些?

2. 提高反射效率

(1) 簡述如何提高反射的效率?

a) setAccessible 啟用和禁用訪問安全檢查的開關(guān),值為 true 則指示反射的對象在使用時(shí)應(yīng)該取消 Java 語言訪 問檢查,值為 false 則指示反射的對象不實(shí)施 Java 語 言訪問檢查,并不是為 true 就能訪問為 false 就不能訪 問 b) 禁止安全檢查,可以提高反射的運(yùn)行速度

(2) 什么是(Reflection)反射?其它語言有這種特點(diǎn)嗎?

JavaBean 是 reflection 的實(shí)際應(yīng)用之一,它能讓一些工具可視化的操作軟件組件。這些工具通過 reflection 動態(tài)的載入并取得 Java 組件(類) 的屬性。Java 的這一能力在實(shí)際應(yīng)用中也許用得不是很多,但是在其它的程序設(shè)計(jì)語言中根本就不存在這一特性。例如,Pascal、C 或者 C++ 中就沒有辦法在程序中獲得函數(shù)定義相關(guān)的信息。

3. 反射操作泛型

(1) 簡述什么是泛型?有哪些作用?

Java 中的泛型僅僅是給編譯器 javac 使用的,確保數(shù)據(jù)的 安全性和免去強(qiáng)制類型轉(zhuǎn)換的麻煩,但是一旦編譯完成,所 有與泛型有關(guān)的類型全部擦除。 使用泛型直接讀取泛型,是讀取不到的,因?yàn)榉瓷涫遣僮?加載以后的類的。

(2) Java新增的數(shù)據(jù)類型有哪些?

為了通過反射操作這些類型以迎合實(shí)際開發(fā)的需要 1) ParameterizedType: 表 示 一 種 參 數(shù) 化 的 類 型 ,比 如 Collection,可以獲取 String 信息 2) GenericArrayType:泛型數(shù)組類型 3) TypeVariable:各種類型變量的公共父接口 4) WildcardType:代表一種通配符類型表達(dá)式, 比如? extends Number,? super Integer (Wildcard 是一個(gè)單詞,就是通配符)

4. 注解

(1) 簡述注解的作用?

不是程序本身,可以對程序作出解釋。(這一點(diǎn)跟注釋沒 什么區(qū)別) 2) 可以被其他程序(比如:編譯器等)讀取。(注解信息處理流 程,是注解和注釋的重大區(qū)別,如果沒有注解信息處理流 程,則注解毫無意義)

(2) 常見的內(nèi)置注解有哪些?

1) @Override :標(biāo)識方法是重寫的方法 2) @Deprecated :標(biāo)識的方法不建議使用 3) @SuppressWarnings:用來抑制編譯時(shí)的警告信息 @SuppressWarinings 需要提供參數(shù)才能正常使用,這些參數(shù) 都是已經(jīng)定義好的,我們只需要選擇就可以了。

5. 自定義注解

(1) 自定義注解的注意事項(xiàng)有哪些?

使 用 @interface 定 義 自 定 義 注 解 時(shí) , 自 動 繼 承 了 java.lang.annotation.Annotation 接口 1) @interface 用來聲明一個(gè)注解 2) 其中的每一個(gè)方法實(shí)際上是聲明了一個(gè)配置參數(shù) a) 方法的名稱就是參數(shù)的名稱 b) 返回值類型就是參數(shù)類型(返回值類型只能是基本 類型、Class、String、enum) c) 可以通過 default 來聲明參數(shù)的默認(rèn)值 d) 如果只有一個(gè)成員,一般參數(shù)名為 value 注意事項(xiàng):注解元素必須要有值。我們定義注解元素時(shí),經(jīng) 常使用空字符串,0 作為默認(rèn)值。 也經(jīng)常使用負(fù)數(shù)(比如-1)表示不存在的含義

(2) 什么叫元注解?

元注解的作用就是負(fù)責(zé)注解其他注解。在 Java 中定義了 4 個(gè)標(biāo)準(zhǔn)的 meta-annotation 類型,它們被用來提供對其它 annotation 類型作說明 這些類型和它們所支持的類在 java.lang.annotation 包中可 以找到 1) @Target 2) @Retention 3) @Documented 4) @Inherited

6. 反射讀取注解信息

(1) 簡述ORM什么含義?

ORM:對象關(guān)系映射 1) 類與表結(jié)構(gòu)對應(yīng) 2) 屬性和字段對應(yīng) 3) 對象和記錄對應(yīng) 使用注解完成類和表結(jié)構(gòu)的映射關(guān)系

(2) 舉例說明注解的使用?

將Java中的Student類使用第三方程序通過讀取注解生成數(shù) 據(jù)庫中的表1) 編寫 Student 類 2) 編寫注解 3) 在類中使用注解 4) 通過解析程序?qū)⒆⒔庾x取出來 (通過框架解析) 5) 拼接 SQL 語句,使用 JDBC 到數(shù)據(jù)庫中執(zhí)行創(chuàng)建表

總結(jié)

以上是生活随笔為你收集整理的java 反射 orm_Java-反射机制简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。