1. 程式人生 > >JAVA深入研究——Method的Invoke方法。

JAVA深入研究——Method的Invoke方法。

總結 一個方法可以生成多個Method物件,但只有一個root物件,主要用於持有一個MethodAccessor物件,這個物件也可以認為一個方法只有一個,相當於是static的。因為Method的invoke是交給MethodAccessor執行的,所以我所想要知道的答案在MethodAccessor的invoke中,深入MethodAccessor: ------------------------------------------MethodAccessor--------------------------------- 假如有這麼一個類A: 

public class A {
  public void foo(String name) {
    System.out.println("Hello, " + name);
  }
}

可以編寫另外一個類來反射呼叫A上的方法: 

import java.lang.reflect.Method;

public class TestClassLoad {
  public static void main(String[] args) throws Exception {
    Class<?> clz = Class.forName("A");
    Object o = clz.newInstance();
    Method m = clz.getMethod("foo", String.class);
    for (int i = 0; i < 16; i++) {
      m.invoke(o, Integer.toString(i));
    }
  }
}

-------------------------------------- Method m = clz.getMethod("方法名", 傳入引數型別);
m.invoke(o, Integer.toString(i)); //o :呼叫類 ,方法傳入的值。
示例程式碼中m.invoke呼叫方法為:class A{ ... foo(String name) ... }

相關推薦

JAVA深入研究——Method的Invoke方法

總結 一個方法可以生成多個Method物件,但只有一個root物件,主要用於持有一個MethodAccessor物件,這個物件也可以認為一個方法只有一個,相當於是static的。因為Method的invoke是交給MethodAccessor執行的,所以我所想要知道的答案在MethodAccessor的i

Java 深入研究 Method 的 Invoke 方法

在寫程式碼的時候,發現從父類class通過getDeclaredMethod獲取的Method可以呼叫子類的物件,而子類改寫了這個方法,從子類class通過getDeclaredMethod也能獲取到Method,這時去呼叫父類的物件也會報錯。雖然這是很符合多型的現象,也符合java的動態繫結規範,

JAVA深入研究——Method的Invoke方法

Method的invoke方法1.先檢查 AccessibleObject的override屬性是否為true。AccessibleObject是Method,Field,Constructor的父類,override屬性預設為false,可呼叫setAccessible方法改變,如果設定為true,則表示可

Java深入研究】2、LinkedList源碼解析

hand exception second 處的 err 所有 one tee string 一、源碼解析 1、 LinkedList類定義。 public class LinkedList<E> extends AbstractSe

深入研究java.lang.Object類

下一個 line 版本號 gin bool 獲得 不同 ava 表達 前言:Java的類庫日益龐大。所包括的類和接口也不計其數。但當中有一些非常重要的類和接口,是Java類庫中的核心部分。常見的有String、Object、Class、Collection、Class

【轉載】對一致性Hash算法,Java代碼實現的深入研究

困難 之前 存在 itl ger 正常 我不 操作 算法實現 原文地址:http://www.cnblogs.com/xrq730/p/5186728.html 一致性Hash算法 關於一致性Hash算法,在我之前的博文中已經有多次提到了,MemCache超詳細解讀一

對一致性Hash算法,Java代碼實現的深入研究

memcach 還原 情況 () 實用 target 強人 最壞情況 一致性hash 一致性Hash算法 關於一致性Hash算法,在我之前的博文中已經有多次提到了,MemCache超詳細解讀一文中"一致性Hash算法"部分,對於為什麽要使用一致性Hash算法、一致性Has

Java的一個高性能快速深拷貝方法Cloneable?

object row 核心 pie interface 傳統 循環 nod json-lib 本人在設計數據庫緩存層的時候,需要對數據進行深拷貝,這樣用戶操作的數據對象就是不共享的。 這個思路實際上和Erlang類似,就是用數據不共享解決並發問題。 1. 序列化? 原來

【JavaNIO的深入研究4】內存映射文件I/O,大文件讀寫操作,Java nio之MappedByteBuffer,高效文件/內存映射

int start lib 交換文件 bsp 沒有 res collected str time 內存映射文件能讓你創建和修改那些因為太大而無法放入內存的文件。有了內存映射文件,你就可以認為文件已經全部讀進了內存,然後把它當成一個非常大的數組來訪問。這種解決辦法能大大簡化修

Java中utf-8格式字符串的存儲方法

字節 turn byte[] spa 負數 oid 只有一個 ret 字符串截取 知識點:可通過 byte[] bytes=“xxxx”.getBytes("utf-8")得到字符串通過utf-8解析到字節數組。utf-8編碼格式下,計算機采用1個字節存儲ASCII範圍內的

java算法面試題:排序都有哪幾種方法?請列舉JAVA實現一個快速排序選擇冒泡快速集合至少4種方法排序

算法 err div println rda print 算法面試 ++ 快速排序 package com.swift; import java.util.ArrayList; import java.util.Collections; import java.util

Java編程思想》筆記 第十七章 容器深入研究

let 類庫 font 有關 有一個 www. 強引用 容器類 刪除 1 容器分類 容器分為Collection集合類,和Map鍵值對類2種 使用最多的就是第三層的容器類,其實在第三層之上還有一層Abstract 抽象類,如果要實現自己的集合類,可以繼承Abstract類

設計一個包含一個interface,三個class的Java 程式,用於完成陣列排序排序任務其中interface中包含一個sort() 方法第一個class使用氣泡排序法實現interface的

題目:設計一個包含一個interface,三個class的Java 程式,用於完成陣列排序排序任務。其中interface中包含一個sort() 方法。第一個class使用氣泡排序法實現interface的sort()方法;第二個class使用選擇排序法實現interface的sort()方法;

java 讀取json檔案方法以及操作json物件方法

 1   獲取本地js檔案路徑 Fileuri = ParseTools.class.getClassLoader().getResource("com/zxcl/parsejs/XinZhongChengParse.js").toURI(); 2 

深入研究Java String

開始寫 Java 一年來,一直都是遇到什麼問題再去解決,還沒有主動的深入的去學習過 Java 語言的特性和深入閱讀 JDK 的原始碼。既然決定今後靠 Java吃飯,還是得花些心思在上面,放棄一些打遊戲的時間,系統深入的去學習。 Java String 是 Java

深入研究java.lang.ThreadLocal類

ThreadLocal是什麼呢?其實ThreadLocal並非是一個執行緒的本地實現版本,它並不是一個Thread,而是threadlocalvariable(執行緒區域性變數)。也許把它命名為ThreadLocalVar更加合適。執行緒區域性變數(Threa

Java String的深入研究以及intern()原理

When---什麼時候需要了解String的intern方法: 面試的時候(蜜汁尷尬)!雖然不想承認,不過面試的時候經常碰到這種高逼格的問題來考察我們是否真正理解了String的不可變性、String常量池的設計以及String.intern方法所做的事情。但其實,我們

Java設計模式深入研究》介紹

  《Java設計模式深入研究》共分12章,首先強調了介面和抽象類在設計模式中的重要性,介紹了反射技術在設計模式中的應用。然後,從常用的23個設計模式中精選10個進行了詳細的講解,包括2個建立型模式、4個行為型模式、4個結構型模式。《Java設計模式深入研究》理論講解透徹,應用示例深入。設計模式的講解均從生

Java程式設計思想 第十七章:深入研究容器

1. 完整的容器分類法 下面是集合類庫的完整圖: Java SE5新添加了: Queue介面(LinkedList已經為實現該介面做了修改)及其實現PriorityQueue和各種風格的BlockingQueue。 ConcurrentMap介面及其實現Concu

java--ArrayList泛型:使用ArrayList泛型新增5個學生物件, 然後遍歷列印5位學生的自我介紹方法

import java.util.ArrayList; import java.util.List; /** * 使用ArrayList泛型新增5個學生物件,然後遍歷列印5位學生的自我介紹方法。 * (需建立學生類)Student.java包含 name,age,gen