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

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

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

難度入門
時長 1小時20分
學習人數
綜合評分9.67
760人評價 查看評價
9.9 內容實用
9.6 簡潔易懂
9.5 邏輯清晰
  • 有觀點把void也歸為基本數據類型

    void.class

    查看全部
  • double.class不等于Double.class

    查看全部
  • 功能性的類盡量用動態加載

    查看全部
  • 動態加載,用哪個加載哪個

    查看全部
  • 編譯時刻加載類為靜態加載類

    運行時刻加載類為動態加載類

    查看全部
  • 可以通過一個類的類類型創建該類的對象實例。

    前提是該類具有無參的構造方法

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-27

  • 獲得類類型的3種方法

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-27

  • 一個類只可能是Class類的一個實例對象

    class Cat{}

    Cat.class == new Cat().getClass() 成立

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-27

  • 一個類的類類型 (class type)是一個對象,Class類的對象

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-27

  • 類是java.lang.Class類的實例對象

    任何類都是Class類的實例對象

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-27

  • java中靜態成員和普通數據類型不是面向對象的

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-27

  • Class類

    面向對象編程,一切皆對象。

    靜態成員,基本數據類型不是面向對象的

    寫的每一個類都是java.lang.Class的實例對象

    Class對象只有java的虛擬機可以創建其實例化對象,其構造器是私有的

    任何一個類都是Class類的實例對象,這個實例對象有三種表示方式

    舉例:

    Foo foo1=new Foo();

    Foo是Class類的實例對象,稱之為Foo類的類類型;可用以下三種表示法:

    1. ?Class c1=Foo.class(任何一個類都有一個靜態成員變量class)

    2.已知一個類的對象

    Class c2=foo1.getClass();

    c1,c2表示了Foo類的類類型(class type)

    一個類只有一個類類型,只是表達方式不同

    3. Class c3=null;

    try{

    c3=Class.forName("Foo");

    }catch(ClassNotFoundException e){

    e.printStackTrace();

    }

    可以通過類的類類型創建該類的對象實例,通過c1orc2orc3創建Foo的對象

    Foo foo=(Foo)c1.newInstance();需要無參數的構造方法

    動態加載類

    區分編譯/運行

    編譯時加載類稱靜態加載類,運行時加載類是動態加載類?

    new創建對象 是靜態加載類,在編譯時刻就需要加載所有可能使用到的類

    通過動態加載類解決靜態加載存在的問題

    class OfficeBetter

    {

    public static void main(String[] args)

    {

    try

    {Class c=Class.forName(args[0]);//動態加載類,在運行時加載。

    //通過類類型創建對象

    OfficeAble oa=(OfficeAble)c.newInstance();

    //interface OfficeAble

    {

    public void start();

    }

    oa.start();

    }

    catch(Exception e)

    {

    e.printStackTrace();

    }


    查看全部
  • 一個類只可能是Class類的一個實例對象

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-24

  • 編譯時刻加載類是靜態加載類,運行時刻加載類是動態加載類 new 創建對象是靜態加載類,在編譯時刻就需要加載所有的可能使用到的類通過Class a=Class.forName(arg[0]);此時為動態加載,因為編譯時不知道使用哪個類,因此編譯沒有加載任何類,通過編譯。運行時,根據 Java OfficeBetter Word (Word為arg[0],也是類類型),去確定a是哪個類。這就是動態加載。如果word不存在,此時運行會報錯。這就是為何有時候會出現編譯通過,運行報錯的原因。 動態加載一個好處,就是可以隨時增加需要編譯的類。例如沒有excel類,只有word類,也可以運行,需要excel類時再由程序員寫此類(為了能統一控制,word類、excel類需要繼承同一個父類或者繼承同一個接口)。

    查看全部
  • 萬事萬物皆為對象,類也是對象,任何一個類都是Class類的對象。 Class c1就聲明了一個Class類的實例對象,但是不能通過new關鍵字來創建,而是有一下三種方法創建。 1、Class c1 = Foo.class;//任何一個類都有一個隱含的靜態成員變量class,如果Foo已經存在,可以用這種方法來創建Foo的類類型(class type),即Foo類的類類型就是Class類的一個實例對象。 2、Class c2 = foo.getClass();//如果Foo類的對象foo已經存在,可以通過這種方法來創建Foo類的類類型。 并且,c1==c2是true的,因為任何一個類只有一個類類型。 3、Class c3 = null; c3 = Class.forName("com.imooc.reflect.Foo");//通過Foo的全稱來創建 可知,c2==c3也是true的。 而且,可以用類類型來創建Foo的實例對象,如下 Foo foo1 = (Foo)c1.newInstance();//前提是Foo有無參的構造方法

    查看全部
    0 采集 收起 來源:Class類的使用

    2018-04-23

舉報

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

微信掃碼,參與3人拼團

微信客服

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

幫助反饋 APP下載

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

公眾號

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

友情提示:

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