<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            java語言

            Java類別的載入器

            時間:2025-04-11 07:20:40 java語言 我要投稿
            • 相關推薦

            Java類別的載入器

              類加載器(class loader)是Java中的一個很重要的概念。類加載器負責加載 Java 類的字節代碼到Java虛擬機中!下面是小編為大家搜索整理的Java類別載入器,希望大家能有所收獲,更多精彩內容請及時關注我們考試網!

              1 Java的動態特性

              Java的動態特性有兩種,一是隱式的;另一種是顯示的。隱式的(implicit)方法就是當程式設計師用到new 這個Java 關鍵字時,會讓類別載入器依需求載入您所需要的類別,這種方式使用了隱式的(implicit)方法。顯式的方法,又分成兩種方式,一種是藉由java.lang.Class 里的forName()方法,另一種則

              是藉由java.lang.ClassLoader 里的loadClass()方法。您可以任意選用其中一種方法。

              2 隱式的動態特性

              在執行java文件時,只有單獨的變量聲明是不會載入相應的類的,只有在用new生成實例時才載入

              如示例所示:

              public class Main

              public static void main(String args[])

              {

              A a1 = new A() ;

              B b1 ;

              }

              類A和B相同,如下:

              public class A

              {

              public void print(“using A”);

              }

              編譯后,可用java –verbose:class Main運行,察看輸出結果。可以看到JVM只載入了A,而沒有載入B.

              另外,類的載入只在執行到new一個類時,才載入,如果沒有執行到new語句,則不載入。

              如://類Office

              public class Office

              {

              public static void main(String[] args)

              {

              Word myword=null;

              Excel myexcel=null;

              if (args[0].equals("Word"))

              {

              myword = new Word();

              myword.start();

              }

              if (args[0].equals("Excel"))

              {

              myexcel = new Excel();

              myexcel.start();

              }

              }

              }

              //類Word和Excel基本相同,如下

              public class Word

              {

              public void start()

              {

              System.out.println("using word");

              }

              }

              在dos命令提示符下,輸入java –verbose Office Excel可以看到JVM只載入Excel類,而不載入Word類。

              3 顯示的動態特性

              3.1 java.lang.Class里的forName()方法

              在上一個Office示例中,進行如下修改:

              一 加入Assembly類

              public interface Assembly

              {

              public void start();

              }

              二 讓Word和Excel類實現該接口

              public class Word implements Assembly

              {

              public void start()

              {

              System.out.println("using word");

              }

              }

              三 Office 類如下所示

              public class Office

              {

              public static void main(String[] args) throws Exception

              {

              java.lang.Class c = java.lang.Class.forName(args[0]);

              Object o = c.newInstance();

              Assembly a = (Assembly)o;

              a.start();

              }

              }

            【Java類別的載入器】相關文章:

            Java類別載入器06-20

            Java的類07-19

            Java的類常識08-28

            java類的構成08-02

            Java import以及Java類的搜索路徑09-14

            Java類加載器類介紹06-13

            淺談Java類與類之間的關系09-03

            什么是java集合類05-29

            Java類基本構成05-11

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看