您的位置首页百科知识

Method对象中invoke方法中第一个参数表示____

Method对象中invoke方法中第一个参数表示____

invoke方法的第一个参数是一个对象。

此对象可以为:①方法持有者;②方法持有者的继承者。

例子:父类有方法

public class Father {

public void say(String name){

System.out.println("我是father叫"+name);

}

}子类有方法

public class Son extends Father {

@Override

public void say(String name){

System.out.println("我是son我叫"+name);

}

}测试类

public class TestInvoke {

public void test() throws Exception {

Class clazz = Class.forName("CloneObject.Father");//反射父类

Father father = new Father();//实例化父类

Son son = new Son();//实例化子类

Object object=clazz.newInstance();//获得一个新的父类对象

Method method = clazz.getMethod("say",String.class);

method.invoke(father,"爸爸");

method.invoke(son,"孩子");

method.invoke(object,"新的父亲");

}

public static void main(String[] args) throws Exception {

new TestInvoke().test();

}

}结果

我是father叫爸爸

我是son我叫孩子

我是father叫新的父亲

obj-从中调用基础方法的对象publicObjectinvoke(Objectobj,Object...args)throwsIllegalAccessException,IllegalArgumentException,InvocationTargetException;invoke方法:对带有指定参数的指定对象调用由此Method对象表示的基础方法。个别参数被自动解包,以便与基本形参相匹配,基本参数和引用参数都随需服从方法调用转换。