import java.lang.reflect.Method;
/**
* 反射调用指定方法
*/
public class ReflectTest {
public static void main(String[] args) {
Class<?> c = null;
try {
c = Class.forName("Person");
Method m = c.getMethod("sayHello", new Class[] { String.class });
Person p = (Person) c.newInstance();
m.invoke(p, "全球软件文化交流");
} catch (Exception ex) {
}
}
}
import java.io.Serializable;
import java.lang.reflect.Method;
public class Person implements Serializable,Comparable{
private String name;
private int age;
public String address;
double salary;
public Person()
{
}
public Person(String name,int age)
{
this.name = name;
this.age = age;
}
Person(String name)
{
this.name = name;
}
private Person(int age)
{
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString()
{
return "姓名:"+this.getName()+",年龄:"+this.getAge();
}
public void sayHello(String name)
{
System.out.println("你好,"+name);
}
private void smoking()
{
System.out.println("吸烟有害健康...");
}
public static void main(String[] args) throws Exception{
Class<?> c = Class.forName("Person");
Method m = c.getDeclaredMethod("smoking", new Class[]{});
Person p = (Person)c.newInstance();
m.invoke(p, null);
}
@Override
public int compareTo(Object o) {
return 0;
}
}