亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

反射——Java高級開發必須懂的

難度入門
時長 1小時20分
學習人數
綜合評分9.67
760人評價 查看評價
9.9 內容實用
9.6 簡潔易懂
9.5 邏輯清晰
  • /** * 成員變量也是對象 * java.lang.reflect.Field * Field類封裝了關于成員變量的操作 * getFields()方法獲取的是所有public的成員變量 * getDeclaredFields()獲取的是所有自定義的成員變量 */ /* * 構造函數也是對象 * java.lang.Constructor封裝了對構造函數的信息 * getConstructors()獲取所有public的構造函數 * getDeclaredConstructors()獲取所有的構造函數信息 */
    查看全部
  • @ClassUtil.java——(下) /** * 打印對象的構造函數的信息 * @param obj */ public static void printConMessage(Object obj){ Class c = obj.getClass(); /* * 構造函數也是對象 * java.lang. Constructor中封裝了構造函數的信息 * getConstructors獲取所有的public的構造函數 * getDeclaredConstructors得到所有的構造函數 */ //Constructor[] cs = c.getConstructors(); Constructor[] cs = c.getDeclaredConstructors(); for (Constructor constructor : cs) { System.out.print(constructor.getName()+"("); //獲取構造函數的參數列表--->得到的是參數列表的類類型 Class[] paramTypes = constructor.getParameterTypes(); for (Class class1 : paramTypes) { System.out.print(class1.getName()+","); } System.out.println(")"); } } }
    查看全部
  • 類型的說明
    查看全部
  • 測試類代碼
    查看全部
  • ClassUtil類代碼: //首先要獲取類的類類型 Class c = obj.getClass(); System.out.println("類的類名稱是:"+c.getName()); /** * Method類,方法對象 * 一個成員方法就是一個method對象 * getMethods()獲得的就是所有public的方法,包括從父類繼承而來的 * getDeclaredMethods()是獲取該類自己聲明的所有方法,不考慮訪問權限 */ Method[] m = c.getMethods(); for(int i =0;i<m.length;i++) { //獲得方法的返回值類型的類類型 Class returntype = m[i].getReturnType(); System.out.print(returntype.getName()+" "); //獲得方法的名稱 System.out.print(m[i].getName()+"("); //獲取方法的參數類型-->得到的是參數列表的類型的類類型 Class[] paramstype = m[i].getParameterTypes(); for (Class class1 : paramstype) { System.out.print(class1.getName()+","); } System.out.println(")"); }
    查看全部
  • Class.forName("類的全稱")
    查看全部
  • OfficeBetter類
    查看全部
  • Word類實現OfficeAble接口
    查看全部
  • Class.forName("類的全稱") ·不僅表示了類的類類型,還代表了動態加載類 ·請大家區分編譯、運行 ·編譯時刻加載類是靜態加載類,運行時刻加載類是動態加載類 --> new創建對象:是靜態加載類,在編譯時刻就需要加載所有的【可能使用到的類】。有一個類有問題(如不存在),都不能通過編譯,會報錯。 --> Class.forName()通過動態加載類,可以用到一個類時,才進行加載。 【功能性的類盡量使用動態加載,并對新添的類實現功能性接口(標準),這樣就不用重新編譯】
    查看全部
  • Class類. Class.forName("類的全稱")
    查看全部
  • 關于Class類
    查看全部
    0 采集 收起 來源:Class類的使用

    2016-05-25

  • 1)在面向對象的世界里,萬事萬物皆對象。 java語言中,靜態的成員、普通數據類型是不是對象呢?類是誰的對象呢? ...類是對象,類是java.lang.Class類的實例對象 2)這個對象到底如何表示 有三種表示方式, 以class Foo為例,Foo這個類 也是一個實例對象,Class類的實例對象,如何表示呢? 【方式一】 Class c1 = Foo.class; //第一種表示方式 --->實際在告訴我們任何一個類都有一個隱含的靜態成員變量 【方式二】 Class c2 = foo1.getClass(); //第二種表達方式,已經知道該類的對象通過getClass方法 /*官網 c1,c2表示了Foo類的類類型(class type) * 萬事萬物皆對象, * 類也是對象,是class類的實例對象 * 這個對象我們成為該類的類類型 * */ ##不管c1 or c2 都代表了Foo類的類類型,一個類只可能是Class類的一個實例對象 System.out.println(c1 == c2); //輸出結果為true 【方式三】 c3 = Class.forName("com.imooc.reflect.Foo"); (要try..catch捕獲異常) ?通過類的類類型創建該類的對象實例 我們完全可以通過類的類類型創建該類的對象實例 --->通過c1或c2或c3創建Foo的實例對象 ?。∏疤嵋袩o參數的構造方法 Foo foo = (Foo)c1.newInstance();
    查看全部
    0 采集 收起 來源:Class類的使用

    2018-03-22

  • 類是對象,它是java.lang.Class的對象
    查看全部
    0 采集 收起 來源:Class類的使用

    2016-05-24

  • 方法的反射 1獲取類類型Class c=a1.getClass(); 2獲取方法Method b=c.getMethod(); 3方法的反射(方法的調用)b.invoke();
    查看全部
  • 類類型的創建 Class c=Foo.class//Foo為一個類 Class c=fool.getClass()//fool為Foo類的一個對象 Class c=Class.forName();
    查看全部
    0 采集 收起 來源:Class類的使用

    2016-05-23

舉報

0/150
提交
取消
課程須知
童鞋們,學習本課程前需要熟悉Java面向對象的思想,并能掌握Java IO輸入輸出流、集合和泛型等知識。可參考慕課網Java入門的一、二、三季以及我的文件我做主——Java IO流課程。
老師告訴你能學到什么?
1、能夠理解并應用反射機制。 2、能夠了解反射機制在集合泛型中的應用。 3、有利于更好的學習框架等Java高級技術。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!