国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java反射-方法

awkj / 1671人閱讀

摘要:使用反射可以檢視類的方法,并在運行時調用。獲得方法對象通過對象獲得。示例代碼如下數組擁有一個類定義的所有公共方法的實例。如果方法是靜態的,傳代替類實例。本例中,方法需要一個,所以必須提供一個類型的參數。

使用反射可以檢視類的方法,并在運行時調用。這是通過類java.lang.reflect.Method實現的。本文將深入介紹Method對象。

獲得方法對象

Method通過Class對象獲得。示例代碼如下:

Class aClass = ...//obtain class object
Method[] methods = aClass.getMethods();

Method[] 數組擁有一個類定義的所有公共方法的實例。
如果知道方法參數的精確類型,有比獲得所有方法更優的(獲得方法的方式)。本例中,名為doSomething的方法需要一個String類型的參數:

Class  aClass = ...//obtain class object
Method method =    aClass.getMethod("doSomething", new Class[]{String.class});

如果沒有方法匹配給定的方法名和參數,如例子中的String.class,將拋出NoSuchMethodException
如果你嘗試訪問沒有參數的方法,傳null代替參數數組,如下:

Class  aClass = ...//obtain class object
Method method = aClass.getMethod("doSomething", null);
方法參數和返回值類型

你可以通過如下代碼獲得方法的參數類型列表:

Method method = ... // obtain method - see above
Class[] parameterTypes = method.getParameterTypes();

訪問方法返回值的代碼如下:

Method method = ... // obtain method - see above
Class returnType = method.getReturnType();
使用方法對象調用方法

調用方法的代碼如下:

//get method that takes a String as argument
Method method = MyObject.class.getMethod("doSomething", String.class);
Object returnValue = method.invoke(null, "parameter-value1");

null參數是擁有你想調用方法的實例。如果方法是靜態的,傳null代替類實例。本例中,如果doSomething(String.class) 不是靜態的,必須傳有效的MyObject類的實例代替null
Method.invoke(Object target, Object ... parameters)方法的參數是可變參,但你調用時必須保證型參、實參一一對應。本例中,方法需要一個String,所以必須提供一個String類型的參數。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/77251.html

相關文章

  • Java反射詳細介紹

    摘要:通過反射獲取帶參無返回值成員方法并使用設置安全檢查,訪問私有構造函數必須創建實例這種不行,注意和方法需要傳遞參數測試復制這個功能獲取私有方法,同樣注意和的區別賦予訪問權限調用方法。 反射 目錄介紹 1.反射概述 1.1 反射概述 1.2 獲取class文件對象的三種方式 1.3 反射常用的方法介紹 1.4 反射的定義 1.5 反射的組成 1.6 反射的作用有哪些 2.反射的...

    ingood 評論0 收藏0
  • Java反射學習小記

    摘要:反射使用類對象提供的基本元數據,能從類對象中找出方法或字段的名稱,然后獲取表示方法或字段的對象。常見的反射手段有反射和反射。以之前的反射為例其中指定了方法的返回類型,其實不止如此。 Java反射機制主要提供了以下功能: 在運行時判斷任意一個對象所屬的類 在運行時構造任意一個類的對象 在運行時判斷任意一個類所具有的成員變量和方法 在運行時調用任意一個對象的方法 生成動態代理 很多框架...

    frank_fun 評論0 收藏0
  • Java 反射教程

    摘要:反射非常強大和有用。另外,反射可以用在映射結果集的列名到對象的方法。本教程將深入介紹反射。本教程還將清除一些關于范型信息在運行時可用性的認知混淆。類對象使用反射時,起點通常是需要使用反射檢視的類的對象。 Java反射可以在運行時檢視類、接口、屬性和方法,而無需在編譯時知道類名、方法名等等。它也同樣使用反射支持實例化新的對象、調用方法和get/set屬性值。 Java反射非常強大和有用...

    klivitamJ 評論0 收藏0
  • Java筆記-反射機制(一)

    摘要:反射機制一結合官方通過編寫的反射教程,復習一下反射的知識。反射的概念反射是一種在運行時獲取以及修改應用行為的一種工具。因為反射需要動態的解析類的信息,相比于非反射使用的方式要慢。反射需要獲取一定的運行時權限,在特定的安全環境下不一定存在。 Java反射機制(一) 結合Oracle官方通過JDK8編寫的反射教程,復習一下反射的知識。結尾篇補一個小例子。 主要內容 這次博客的主要內容就是簡...

    AWang 評論0 收藏0
  • Java反射機制詳解

    摘要:反射機制的應用實例在泛型為的中存放一個類型的對象。工廠模式可以參考現在我們利用反射機制實現工廠模式,可以在不修改工廠類的情況下添加任意多個子類。 學習交流群:669823128java 反射 定義 功能 示例概要:Java反射機制詳解| |目錄 1反射機制是什么 2反射機制能做什么 3反射機制的相關API 通過一個對象獲得完整的包名和類名 實例化Class類對象 獲取一個對象的父類與...

    paraller 評論0 收藏0
  • Java 反射

    摘要:反射的使用通過反射獲取構造方法并使用首先我們聲明一個類方便我們進行介紹默認的構造方法默認的構造方法無參構造方法調用了公有無參構造方法執行了。。。 1.概述 1.1 什么是反射 java反射機制是指在運行狀態中,對于任意一個類,都能夠知道這個類的所有屬性和方法,對于任意一個對象,都能調用它的任意一個方法和屬性,這種動態獲取的信息以及動態調用對象的方法的功能稱為java語言的反射機制。 1...

    nodejh 評論0 收藏0

發表評論

0條評論

awkj

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<