您的位置:首页 > 编程语言 > Java开发

java 反射机制 之 getMethods获取所有公有方法 和 getDeclaredMethods 获取本类所有方法

2017-11-10 23:50 811 查看
文件结构:



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);
}

}
}


运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐