真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

反射java代碼 反射 java

關(guān)于java反射,幫忙看一下代碼

import java.lang.reflect.InvocationTargetException;

創(chuàng)新互聯(lián)專(zhuān)業(yè)為企業(yè)提供太原網(wǎng)站建設(shè)、太原做網(wǎng)站、太原網(wǎng)站設(shè)計(jì)、太原網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、太原企業(yè)網(wǎng)站模板建站服務(wù),十多年太原做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

import java.lang.reflect.Method;

import java.lang.reflect.Modifier;

public class ApplicationRunner {

public void run(final String canonicalName){

try {

final Class type = Class.forName(canonicalName);

final Object classHost = type.newInstance();

for(final Method method : type.getDeclaredMethods()){

if(isRunnableMethod(method)){

method.invoke(classHost);

}

}

} catch (final ClassNotFoundException e) {

e.printStackTrace();

} catch (final InstantiationException e) {

e.printStackTrace();

} catch (final IllegalAccessException e) {

e.printStackTrace();

} catch (final InvocationTargetException e) {

e.printStackTrace();

}

}

private boolean isRunnableMethod(final Method method){

return method.getAnnotation(Test.class) != null

Modifier.isPublic(method.getModifiers())

method.getParameterTypes().length == 0

method.getReturnType().equals(void.class);

}

public static void main(String[] args) {

new ApplicationRunner().run(TestHost.class.getCanonicalName());

}

}

你可以試試我的方法. 而且我建議你直接傳對(duì)象進(jìn)去解析類(lèi).這樣會(huì)容易很多

在JAVA中,怎么利用反射獲取一個(gè)方法?

java的反射用法:(異常請(qǐng)自行處理)

①找到類(lèi):Class cl = Class.forName("java.util.Date");

②創(chuàng)建對(duì)象(要求這個(gè)類(lèi)中含有空參數(shù)的構(gòu)造方法):Object obj = cl.newInstence();

③根據(jù)名稱(chēng)和參數(shù)找方法:Method method1 = cl.getMethod("getTime");//如果沒(méi)有參數(shù)不用寫(xiě)第二個(gè)參數(shù)如果有參數(shù)的如:Method method2 = cl.getMethod("setTime",long.class);

④在某個(gè)對(duì)象上面執(zhí)行方法,Object result = method1.invoke(obj);//如果有參數(shù)的Object result = method2.invoke(obj,21317362721);

執(zhí)行的方如果有返回值,將返回值返回,否則返回null

java開(kāi)發(fā)工程師崗位職責(zé):

1、負(fù)責(zé)公司網(wǎng)站開(kāi)發(fā)和維護(hù);

2、負(fù)責(zé)對(duì)網(wǎng)站進(jìn)行實(shí)施,測(cè)試;

3、負(fù)責(zé)現(xiàn)有網(wǎng)站的維護(hù)和升級(jí);

4、負(fù)責(zé)解決開(kāi)發(fā)過(guò)程中的技術(shù)問(wèn)題;

5、負(fù)責(zé)網(wǎng)站開(kāi)發(fā)文檔編寫(xiě)工作;

6、統(tǒng)一代碼風(fēng)格、監(jiān)督團(tuán)隊(duì)開(kāi)發(fā)、落實(shí)測(cè)試、驗(yàn)收代碼質(zhì)量;

7、參與軟件系統(tǒng)設(shè)計(jì),能編寫(xiě)代碼。

JAVA 反射代碼求解釋

里面的注釋已經(jīng)很清楚了。

首先用Class.forName去取到Class對(duì)象,java中Class、Method都是一種對(duì)象(相對(duì)其它對(duì)象要特殊一點(diǎn),因?yàn)樗鼈兇眍?lèi)的結(jié)構(gòu)),Class中包含Method數(shù)組,也就是Class的方法,這里getDeclaredMethods()取到所有方法對(duì)象到數(shù)組method中,然后用for循環(huán)打印每一個(gè)方法toString信息。

用java實(shí)現(xiàn)類(lèi)和對(duì)象的反射,代碼最好有注釋?zhuān)x謝

給你一個(gè)小的實(shí)例代碼:

import java.lang.reflect.Method;

import java.lang.reflect.InvocationTargetException;

public class test {

public static void main(String args[]) throws NoSuchMethodException,

IllegalAccessException, InvocationTargetException {

Foo foo = new Foo("這個(gè)一個(gè)Foo對(duì)象!");

Class clazz = foo.getClass();

Method m1 = clazz.getDeclaredMethod("outInfo");

Method m2 = clazz.getDeclaredMethod("setMsg", String.class);

Method m3 = clazz.getDeclaredMethod("getMsg");

m1.invoke(foo);

m2.invoke(foo, "重新設(shè)置msg信息!");

String msg = (String) m3.invoke(foo);

System.out.println(msg);

}

}

class Foo {

private String msg;

public Foo(String msg) {

this.msg = msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

public String getMsg() {

return msg;

}

public void outInfo() {

System.out.println("這是測(cè)試Java反射的測(cè)試類(lèi)");

}

}

JAVA反射機(jī)制代碼

1.就是說(shuō)根據(jù)你傳進(jìn)去的對(duì)象類(lèi)型返回相應(yīng)的代理。這個(gè)不是在靜態(tài)編譯時(shí)決定的, 而是運(yùn)行時(shí)決定的,所以叫做動(dòng)態(tài)。this指的是當(dāng)前InvocationHandler對(duì)象,也就是new MyInvocationHandler()出來(lái)的。

2.執(zhí)行RealSubject中的say方法,因?yàn)檫@個(gè)時(shí)候?qū)嶋H的對(duì)象是bind(new RealSubject())。

3.沒(méi)有調(diào)用自己啊。


當(dāng)前文章:反射java代碼 反射 java
網(wǎng)頁(yè)路徑:http://weahome.cn/article/hpdoph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部