反射的基本方法

本文深入探讨了Java反射API的使用,展示了如何通过Class类获取类信息,包括方法、构造函数、字段、超类及接口。并通过示例代码演示了如何获取和调用这些元素。

public class a_1 {

public static void main(String args[]) throws ClassNotFoundException {

gg();

} //获取类中的方法

public static void gg() throws ClassNotFoundException {

   Class<?> c=Class.forName("reflect.com.Son");
   
   System.out.println(c.isInterface());
   
  //拿到所有的超类的公共方法
  
  Method m[]= c.getMethods();
  
  for(Method mm:m)
  
	  System.out.println(mm);
	  
	 System.out.println("-------------"); 
	 
  //获取该类的所有父类接口
  
  Class<?> m1[]= c.getInterfaces();
  
  for(Class<?> mm:m1)
  
	  System.out.println(mm);
	  
   System.out.println("-----------------");
   
  //获取超类
  
  System.out.println(c.getSuperclass());
  
  //获取构造方法
  
  System.out.println("---------------");
  
  Constructor<?>[]cons= c.getConstructors();
  
  for(Constructor <?> con:cons)
  
	  System.out.println(con);
	  
  //获取所有的公共属性
  
  System.out.println("----------");
  
 Field f[]= c.getFields();
 
 for(Field  con:f)
 
	  System.out.println(con);
	  
 //获取当前类的所有方法,或取属性,构造同理
 
 System.out.println("-------------"); 
 
 Method m2[]= c.getDeclaredMethods();
 
  for(Method mm:m2)
  
	  System.out.println(mm);
	  
 System.out.println("------------");
 
//获取当前反射所代表的对象实例

 Object o= c.newInstance();
 
 Son s1=(Son)o;
 
  s1.f();

}

}

转载于:https://my.oschina.net/u/2511906/blog/3040072

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值