java 反射 orm_Java-反射机制简介
什么是Java反射機制?
Java反射說的是在運行狀態中,對于任何一個類,我們都能夠知道這個類有哪些方法和屬性。對于任何一個對象,我們都能夠對它的方法和屬性進行調用。我們把這種動態獲取對象信息和調用對象方法的功能稱之為反射機制。
1. 反射機制介紹_Class對象獲取
(1) 反射機制的常見作用是什么?
1) 動態的加載類、動態的獲取類的信息(屬性,方法,構造 器) 2) 動態構造對象 3) 動態調用類和對象的任意方法、構造器 4) 動態調用和處理屬性 5) 獲取泛型信息 6) 處理注解
(2) 獲取Class對象的方式有哪些?
1) 通過字節碼文件 2) 對象的 getClass()方法 3) Class 類的靜態方法 forName(….)反射機制動態操作方法_屬性_構造器
(3) 使用反射機制獲取類的名稱和屬性的方法有哪些?
(4) 使用反射機制獲取方法及構造方法的方法有哪些?
2. 提高反射效率
(1) 簡述如何提高反射的效率?
a) setAccessible 啟用和禁用訪問安全檢查的開關,值為 true 則指示反射的對象在使用時應該取消 Java 語言訪 問檢查,值為 false 則指示反射的對象不實施 Java 語 言訪問檢查,并不是為 true 就能訪問為 false 就不能訪 問 b) 禁止安全檢查,可以提高反射的運行速度
(2) 什么是(Reflection)反射?其它語言有這種特點嗎?
JavaBean 是 reflection 的實際應用之一,它能讓一些工具可視化的操作軟件組件。這些工具通過 reflection 動態的載入并取得 Java 組件(類) 的屬性。Java 的這一能力在實際應用中也許用得不是很多,但是在其它的程序設計語言中根本就不存在這一特性。例如,Pascal、C 或者 C++ 中就沒有辦法在程序中獲得函數定義相關的信息。
3. 反射操作泛型
(1) 簡述什么是泛型?有哪些作用?
Java 中的泛型僅僅是給編譯器 javac 使用的,確保數據的 安全性和免去強制類型轉換的麻煩,但是一旦編譯完成,所 有與泛型有關的類型全部擦除。 使用泛型直接讀取泛型,是讀取不到的,因為反射是操作 加載以后的類的。
(2) Java新增的數據類型有哪些?
為了通過反射操作這些類型以迎合實際開發的需要 1) ParameterizedType: 表 示 一 種 參 數 化 的 類 型 ,比 如 Collection,可以獲取 String 信息 2) GenericArrayType:泛型數組類型 3) TypeVariable:各種類型變量的公共父接口 4) WildcardType:代表一種通配符類型表達式, 比如? extends Number,? super Integer (Wildcard 是一個單詞,就是通配符)
4. 注解
(1) 簡述注解的作用?
不是程序本身,可以對程序作出解釋。(這一點跟注釋沒 什么區別) 2) 可以被其他程序(比如:編譯器等)讀取。(注解信息處理流 程,是注解和注釋的重大區別,如果沒有注解信息處理流 程,則注解毫無意義)
(2) 常見的內置注解有哪些?
1) @Override :標識方法是重寫的方法 2) @Deprecated :標識的方法不建議使用 3) @SuppressWarnings:用來抑制編譯時的警告信息 @SuppressWarinings 需要提供參數才能正常使用,這些參數 都是已經定義好的,我們只需要選擇就可以了。
5. 自定義注解
(1) 自定義注解的注意事項有哪些?
使 用 @interface 定 義 自 定 義 注 解 時 , 自 動 繼 承 了 java.lang.annotation.Annotation 接口 1) @interface 用來聲明一個注解 2) 其中的每一個方法實際上是聲明了一個配置參數 a) 方法的名稱就是參數的名稱 b) 返回值類型就是參數類型(返回值類型只能是基本 類型、Class、String、enum) c) 可以通過 default 來聲明參數的默認值 d) 如果只有一個成員,一般參數名為 value 注意事項:注解元素必須要有值。我們定義注解元素時,經 常使用空字符串,0 作為默認值。 也經常使用負數(比如-1)表示不存在的含義
(2) 什么叫元注解?
元注解的作用就是負責注解其他注解。在 Java 中定義了 4 個標準的 meta-annotation 類型,它們被用來提供對其它 annotation 類型作說明 這些類型和它們所支持的類在 java.lang.annotation 包中可 以找到 1) @Target 2) @Retention 3) @Documented 4) @Inherited
6. 反射讀取注解信息
(1) 簡述ORM什么含義?
ORM:對象關系映射 1) 類與表結構對應 2) 屬性和字段對應 3) 對象和記錄對應 使用注解完成類和表結構的映射關系
(2) 舉例說明注解的使用?
將Java中的Student類使用第三方程序通過讀取注解生成數 據庫中的表1) 編寫 Student 類 2) 編寫注解 3) 在類中使用注解 4) 通過解析程序將注解讀取出來 (通過框架解析) 5) 拼接 SQL 語句,使用 JDBC 到數據庫中執行創建表
總結
以上是生活随笔為你收集整理的java 反射 orm_Java-反射机制简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java join()源码_Java
- 下一篇: java储存学生档案应该注意事项_档案管