Java反射機制詳解_動力節(jié)點Java學院整理-創(chuàng)新互聯(lián)

Java 反射機制介紹

目前累計服務客戶上千,積累了豐富的產品開發(fā)及服務經驗。以網站設計水平和技術實力,樹立企業(yè)形象,為客戶提供成都做網站、成都網站設計、成都外貿網站建設、網站策劃、網頁設計、網絡營銷、VI設計、網站改版、漏洞修補等服務。成都創(chuàng)新互聯(lián)公司始終以務實、誠信為根本,不斷創(chuàng)新和提高建站品質,通過對領先技術的掌握、對創(chuàng)意設計的研究、對客戶形象的視覺傳遞、對應用系統(tǒng)的結合,為客戶提供更好的一站式互聯(lián)網解決方案,攜手廣大客戶,共同發(fā)展進步。

Java 反射機制。通俗來講呢,就是在運行狀態(tài)中,我們可以根據“類的部分已經的信息”來還原“類的全部的信息”。這里“類的部分已經的信息”,可以是“類名”或“類的對象”等信息?!邦惖娜啃畔ⅰ本褪侵浮邦惖膶傩?,方法,繼承關系和Annotation注解”等內容。

舉個簡單的例子:假設對于類ReflectionTest.java,我們知道的唯一信息是它的類名是“com.bjpowernode.Reflection”。這時,我們想要知道ReflectionTest.java的其它信息(比如它的構造函數(shù),它的成員變量等等),要怎么辦呢?

這就需要用到“反射”。通過反射,我們可以解析出ReflectionTest.java的完整信息,包括它的構造函數(shù),成員變量,繼承關系等等。

在了解了“java 反射機制”的概念之后,接下來思考一個問題:如何根據類的類名,來獲取類的完整信息呢?

這個過程主要分為兩步:

第1步:根據“類名”來獲取對應類的Class對象。

第2步:通過Class對象的函數(shù)接口,來讀取“類的構造函數(shù),成員變量”等信息。

下面,我們根據示例來加深對這個概念的理解。示例如下(Demo1.java):

package com.bjpowernode.test;
import java.lang.Class;
public class Demo1 {
  public static void main(String[] args) {
    try {
      // 根據“類名”獲取 對應的Class對象
      Class<?> cls = Class.forName("com.bjpowernode.test.Person");
      // 新建對象。newInstance()會調用類不帶參數(shù)的構造函數(shù)
      Object obj = cls.newInstance();
      System.out.println("cls="+cls);
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
class Person {
  public Person() {
    System.out.println("create Person");
  }
}

分享文章:Java反射機制詳解_動力節(jié)點Java學院整理-創(chuàng)新互聯(lián)
當前路徑:http://muchs.cn/article28/djisjp.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、關鍵詞優(yōu)化、網站內鏈、微信小程序、商城網站App設計

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

外貿網站建設