文件结构:
Person:
package demo2;
public class Person {
private int age;
private String name;
public Person( String name,int age) {
this.age = age;
this.name = name;
System.out.println("构造函数Person(有参数)执行");
}
public Person() {
System.out.println("构造函数Person(无参数)执行");
}
//公有 有参方法
public void public_show(String str,int i)
{
System.out.println("public show "+str+"..."+i);
}
//公有 无参方法
public void public_prin()
{
System.out.println("public prin");
}
//私有 有参方法
private void private_show(String str,int i)
{
System.out.println("private show "+str+"..."+i);
}
//私有 无参方法
private void private_prin()
{
System.out.println("private prin");
}
}
Main:
package Main;
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) throws Exception {
//获取字节码文件中 方法
String classname = "demo2.Person";
//寻找名称的类文件,加载进内存 产生class对象
Class cl = Class.forName(classname);
//1.获取所有公有方法的getMethods()
Method[] publie_Method=cl.getMethods(); //获取所有公有方法
System.out.println("Person所有公有方法:");
for(Method m:publie_Method)
{
System.out.println(m);
}
//2.获取本类中的所有的方法(私有 公共 保护)
Method[] all_Method=cl.getDeclaredMethods();//获取本类中的所有方法 (只拿本类中的)
System.out.println("Person本类中的所有方法:");
for(Method m:all_Method)
{
System.out.println(m);
}
}
}