久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      java什么是反射機制

      Java 反射機制是在運行狀態(tài)中,對于任意一個類,都能夠獲得這個類的所有屬性和方法,對于任意一個對象都能夠調(diào)用它的任意一個屬性和方法。

      java什么是反射機制

      這種在運行時動態(tài)的獲取信息以及動態(tài)調(diào)用對象的方法的功能稱為 Java 的反射機制。 (推薦學習:java課程)

      Class 類與 java.lang.reflect 類庫一起對反射的概念進行了支持,該類庫包含了 Field,Method,Constructor 類 (每個類都實現(xiàn)了 Member 接口)。這些類型的對象時由 JVM 在運行時創(chuàng)建的,用以表示未知類里對應的成員。

      這樣你就可以使用 Constructor 創(chuàng)建新的對象,用 get() 和 set() 方法讀取和修改與 Field 對象關聯(lián)的字段,用 invoke() 方法調(diào)用與 Method 對象關聯(lián)的方法。

      另外,還可以調(diào)用 getFields() getMethods() 和 getConstructors() 等很便利的方法,以返回表示字段,方法,以及構造器的對象的數(shù)組。這樣匿名對象的信息就能在運行時被完全確定下來,而在編譯時不需要知道任何事情。

      通過反射機制獲取類信息

      通過反射機制創(chuàng)建對象,在創(chuàng)建對象之前要獲得對象的構造函數(shù)對象,通過構造函數(shù)對象創(chuàng)建對應類的實例。

      下面這段代碼分別在運行期間創(chuàng)建了一個無參與有參的對象實例。由于 getConstructor() 方法與 newInstance() 方法拋出了很多異常 (你可以通過源代碼查看它們),這里就簡寫了直接拋出一個 Exception,下同。

      package com.jas.reflect;  import java.lang.reflect.Constructor;  public class ReflectTest {     public static void main(String[] args) throws Exception {          Class clazz = null;         clazz = Class.forName("com.jas.reflect.Fruit");         Constructor<Fruit> constructor1 = clazz.getConstructor();         Constructor<Fruit> constructor2 = clazz.getConstructor(String.class);          Fruit fruit1 = constructor1.newInstance();         Fruit fruit2 = constructor2.newInstance("Apple");      } }  class Fruit{     public Fruit(){         System.out.println("無參構造器 Run...........");     }     public Fruit(String type){         System.out.println("有參構造器 Run..........." + type);     }  }

      輸出:

      無參構造器 Run........... 有參構造器 Run...........Appl

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號