java.lang.reflect.Method
public Object invoke(Object obj, Object... args)
参数:
obj:从中调用底层方法的对象,必须是实例化对象
args: 用于方法调用,是一个object的数组,因为参数有可能有多个
返回:
使用参数args在obj上指派该对象所表示的方法的结果。
invoke方法中的obj就是一个实例化对象,可以直接返回对象的中每个属性的值。
加上后面的agrs结果是一样的。
例如:StudentDemo.class
package com.payeco.demo; public class StudentDemo { private int id; private String name; private String sex; private String age; private String brithday; private String address; public StudentDemo() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getBrithday() { return brithday; } public void setBrithday(String brithday) { this.brithday = brithday; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }测试代码:demo.class
import java.io.UnsupportedEncodingException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Demo { public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException { StudentDemo sd=new StudentDemo(); sd.setId(1); sd.setName("测试invoke"); sd.setSex("未知"); sd.setAge("10000"); sd.setBrithday("19920205"); sd.setAddress("湖南"); Object[] agrs = new Object[]{}; StringBuilder sb = new StringBuilder(); sb.append("<Object.XmlString> start"); for (Method m : sd.getClass().getMethods()) { if (m.getName().startsWith("get")) { System.out.println(m.getName()); sb.append(" <" + m.getName().substring(3) + ">"); sb.append(m.invoke(sd,agrs)); System.out.println("---"+m.invoke(sd, args)); } } System.out.println(sb.toString()); } }
相关推荐
java反射机制描述及Method.invoke解释
主要介绍了详解Java中Method的Invoke方法,需要的朋友可以参考下
主要介绍了Java Method类及invoke方法原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
主要介绍了Java反射机制及Method.invoke详解,本文讲解了JAVA反射机制、得到某个对象的属性、得到某个类的静态属性、执行某对象的方法、执行某个类的静态方法等内容,需要的朋友可以参考下
java反射机制详解及Method.invoke解释.pdf
Method,invoke,getMethod等反射私有方法和私有属性
package methodinvoke; import java.lang.reflect.Method; public class Test { public String function () { return "调用function"; } @SuppressWarnings("unchecked")
method.invoke(owner, args):执行该Method,invoke方法的参数是执行这个方法的对象,和参数数组。返回值是Object,也既是该方法的返回值。 4. 执行某个类的静态方法 public Object invokeStaticMethod(String ...
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke...
title invoke method of superclass.
这个文章是某位高人所写,委托及其异步运用写得很精辟(老有转c#的同学问这个,其实他们不知道这玩意跟指针没多大区别,只是微软把他封了一层又一层而已,看明白了用就行了).不过这个异步是上古写法了,现在都用async~...
invoke method of superclass Source Code for Linux.
Chp15 反射Key Point ●Class 对象及其基本操作●Method 对象以及invoke 方法●标注练习 1. (类对象)要获得类对象,有三种不同的方式,分别为_____________________、___________________、_____________________...
1. 反射: Class 类的实例表示正在运行的 Java... 例如:@Target(ElementType.METHOD)//意味着@Override只能在普通方法上使用 public @interface Override { } 2. @Retention
Java程序的基本结构练习:嵌入调用多个方法请在中嵌入并调用多个方法。在提交请求之前,您要在本地确保所有代码已经编译通过,并通过了测试( mvn clean verify )注意!我们只允许您修改以下文件,对其他文件的修改...
【微信小程序-毕设期末大作业】k-push小程序(含后端源码).zip 【微信小程序-毕设期末大作业】k-push小程序(含后端源码).zip 【微信小程序-毕设期末大作业】k-push小程序(含后端源码).zip ...
//第二个参数method,被代理对象的接口方法 @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { System.out.println("做前置工作"); System.out.println("-------...
这样你就可以使用 Constructor 创建新的对象,用 get() 和 set() 方法读取和修改与 Field 对象关联的字段,用invoke() 方法调用与 Method 对象关联的方法。 另外,还可以调用 getFields() getMethods
public static void main(String[] args) throws Exception{ ... method1.invoke(obj, new Object[]{"222"}); Method method2=c.getMethod(method_name, new Class[0]); method2.invoke(obj, new Object[0]); }