Discuss / Java / 【作业】-使用反射调用方法

【作业】-使用反射调用方法

Topic source
package com.itranswarp.learnjava;

//import com.sun.java.util.jar.pack.Package.Class.Method;
//import java.lang.reflect.*;

public class Main {

	public static void main(String[] args) throws Exception {
		String name = "Xiao Ming";
		int age = 20;
		Person p = new Person();
		// TODO: 利用反射调用setName和setAge方法:
		
//		Method m = Person.class.getMethod("setName", String.class);
//		m.invoke(p, name);
//		
//		Method m_age = Person.class.getMethod("setAge", int.class);
//		m_age.invoke(p, age);
		
        //链式编程,写起来更顺畅简洁
		Person.class.getMethod("setName", String.class).invoke(p, name);
		Person.class.getMethod("setAge", int.class).invoke(p, age);
		

		System.out.println(p.getName()); // "Xiao Ming"
		System.out.println(p.getAge()); // 20
	}
}


  • 1

Reply