【Java反射機制】_認識Class類筆記

來源:互聯網
上載者:User

【Java反射機制】_認識Class類筆記

本章目標:
掌握Object類中getClass()方法的作用
認識java反射機制

3、具體情況

在正常情況下,必須知道一個類的完整路徑之後才可以執行個體化對象,但是在java中也允許通過一個對象來找到所在的類資訊,那麼這實際上就是Class類的功能。

package org.lxh.demo15.getclassdemo;class X{};public class GetClassDemo01{    public static void main(String args[]){        X x = new X();    //執行個體化X類的對象。        System.out.println(x.getClass().getName());//得到對象所在的類            }}

此時,所有的操作都是反著來的。

Object類的支援

在Object類中定義了以下的方法,此方法將被所有子類繼承。

public final Class getClass()

以上的方法傳回值的類型是一個"Class"類,實際上此類是Java反射的源頭,實際上所謂反射從程式的運行結果來看也很好理解,即:可以通過對象反射求出類的名稱。

Class類

Class本身表示一個類的本身,通過Class可以完整的得到一個類中的完整結構,包括此類中的方法定義,屬性定義等。

Class類的常用方法

此類在JDK文檔中沒有發現任何的構造方法,所以此類的構造方法被私人化了。

執行個體化Class類對象的方法有三種:
第一種:通過forName()方法
第二種:類.class
第三種:對象.getClass()

package org.lxh.demo15.getclassdemo;class X{}public class GetClassDemo02{    public static void main(String args[]){        Class<?> c1 = null;        Class<?> c2 = null;        Class<?> c3 = null;        try{            //以下的操作形式是開發中最常用的一種形式            c1 = Class.forName("org.lxh.demo15.getclassdemo.X");        }catch(ClassNotFoundException e){            e.printStackTrace();        }        c2 = new X().getClass();    //通過Object類中的方法執行個體化        c3 = X.class;            //通過類.class執行個體化        System.out.println("類名稱:"+c1.getName());        System.out.println("類名稱:"+c2.getName());        System.out.println("類名稱:"+c3.getName());    }}

一旦可以執行個體化Class類之後,就可以進行反射的進一步操作。

總結:
1.瞭解Class 類的作用:反射的源頭
2.三Class類的執行個體化方式,其中要以"forName()"重點掌握,類.class

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.