最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

后端 | Java | 反射

2023-06-23 12:04 作者:朵寶特工007  | 我要投稿

筆記來源:Java入門基礎(chǔ)視頻教程,java零基礎(chǔ)自學(xué)就選黑馬程序員Java入門教程

一、反射(Reflection)

  • 反射:加載類,并允許以編程的方式解剖類中的各種成分(成員變量、方法、構(gòu)造器等)。

  • 獲取類:Class對象

    • Class c1 = 類名.class;

    • 調(diào)用Class提供的方法:public static Class forName(String package);

    • Object提供的方法:public Class getClass(); Class c3 = 對象.getClass();

  • 獲取類的構(gòu)造器:Constructor對象

    • Constructor<?>[] getConstructors():獲取全部構(gòu)造器(只能獲取public修飾的)。

    • Constructor<?>[] getDeclaredConstructors():獲取全部構(gòu)造器(只要存在就能拿到)。

    • Constructor<T> getConstructor(Class<?>... parameterTypes):獲取某個構(gòu)造器(只能獲取public修飾的)。

    • Consructor<T> getDeclaredConstructor(Class<?>... parameterType):獲取某個構(gòu)造器(只要存在就能拿到)。

    • 方法:

      • T newInstance(Object... initargs):調(diào)用此構(gòu)造器對象表示的構(gòu)造器,并傳入?yún)?shù),完成對象的初始化并返回。

      • public void setAccessible(boolean flag):設(shè)置為true,表示禁止檢查訪問控制(暴力反射)。

  • 獲取類的成員變量:Field對象

    • public Field[] getFields():獲取類的全部成員變量(只能獲取public修飾的)。

    • public Field[] getDeclaredFields():獲取類的全部成員變量(只要存在就能拿到)。

    • public Field getField(String name):獲取類的某個成員變量(只能獲取public修飾的)。

    • public Field getDeclaredField(String name):獲取類的某個成員變量(只要存在就能拿到)。

    • 方法:

      • void set(Object obj, Object value):賦值。

      • Object get(Object obj):取值。

      • public void setAccessible(boolean flag):設(shè)置為true,表示禁止檢查訪問控制(暴力反射)。

  • 獲取類的成員方法:Method對象

    • Method[] getMethods():獲取類的全部成員方法(只能獲取public修飾的)。

    • Method[] getDeclaredMethods():獲取類的全部成員方法(只要存在就能拿到)。

    • Method getMethod(String name, Class<?>... parameterTypes):獲取類的某個成員方法(只能獲取public修飾的)。

    • Method getDeclaredMethod(String name, Class<?>... parameterTypes):獲取類的某個成員方法(只要存在就能拿到)。

    • 方法:

      • public Object invoke(Object obj, Object... args):觸發(fā)某個對象的方法執(zhí)行。

      • public void setAccessible(boolean flag):設(shè)置為true,表示禁止檢查訪問控制(暴力反射)。


二、反射的作用、應(yīng)用場景

  • 基本作用:可以得到一個類的全部成分然后操作。

  • 可以破壞封裝性。

  • 最重要的作用:適合做Java的框架,基本上,主流的框架都會基于反射設(shè)計(jì)出一些通用的功能。


后端 | Java | 反射的評論 (共 條)

分享到微博請遵守國家法律
阜城县| 乡城县| 榆社县| 革吉县| 商洛市| 磴口县| 绥棱县| 瑞丽市| 乐清市| 嘉禾县| 宁晋县| 太湖县| 泰安市| 曲水县| 泊头市| 五大连池市| 广宁县| 来宾市| 隆德县| 九江市| 新郑市| 丰都县| 贡觉县| 噶尔县| 河北省| 香河县| 安远县| 明水县| 方城县| 桂阳县| 富裕县| 鲜城| 延庆县| 彰化县| 克拉玛依市| 依兰县| 伊宁县| 江安县| 垦利县| 涡阳县| 手机|