Java類的載入の動態

來源:互聯網
上載者:User

標籤:system   stack   for   java   try   style   nts   font   標準   

類的載入方式
  • 靜態載入類,是編譯時間刻載入
  • 動態載入類,是運行時刻載入

new建立對象:是靜態載入類,在編譯時間刻就需要載入所有的可能使用到的類。有一個類有問題(如不存在),都不能通過編譯,會報錯。

Class.forName(類的全稱):通過動態載入類,用到一個類時,才進行載入。 功能性的類建議盡量使用動態載入,並對新添的類實現功能性介面(標準),這樣就不用重新編譯

import T1.OfficeAble;public class Office1 {  public static void main(String[] args) {      try {        Class c=  Class.forName("T1.Word");  //傳入什麼類就 載入什麼類                      //建立對象        OfficeAble s=(OfficeAble)c.newInstance();        //調用方法        s.start();    } catch (Exception e) {        e.printStackTrace();    }}}
package T1;public interface OfficeAble {//建立一個介面來規範對象        public void start();       public void rr();}
package T1;public class Word {    public void start() {        System.out.println("word調用成功啦!");    }    public void rr() {}    }

 

 

可以理解為裝修房子(編譯)買電器,我之前計劃的有電視冰箱洗衣機,全都隨著裝修安裝完畢了(靜態載入),之後呢(運行),覺得少個微波爐,可是根本就沒有規劃微波爐的線路,那麼就需要拆掉原先的線路為新的電器設定安裝.
而現在我不想那麼麻煩,就在裝修的時候預留好電源插座這種介面(interface),只要所有的電器都實現了這個介面,有了兩孔或者三孔的插頭,那麼我後期想增添任何電器都可以隨時增加(動態載入)

 

Java類的載入の動態

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.