JAVA反射机制的基本介绍极其简单用法

JAVA反射机制

JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法;对于

任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能

称为java语言的反射机制。

特点:

1:反射机制极大的提高了程序的灵活性和扩展性,降低模块的耦合性,提高自身的适应能力。

2:通过反射机制可以让程序创建和控制任何类的对象,无需提前硬编码目标类。

3:使用反射机制能够在运行时构造一个类的对象、判断一个类所具有的成员变量和方法、调用一个对象的方法

4:反射机制是构建框架技术的基础所在,使用反射可以避免将代码写死在框架中。

原理

反射机制(Reflection)是Java提供的一项较为高级的功能,它提供了一种动态功能,而此功能的体现

在于通过反射机制相关的API就可以获取任何Java类的包括属性、方法、构造器、修饰符等信息。

元素不必在JⅧ运行时进行确定,反射可以使得它们在运行时动态地进行创建或调用

如何用?:

package zj4_6;

public class Student(){

    public void printInfo(){
   	 System.out.println("打印学生信息")
    }
    public void printAddress(String address){
        System.out.println("hello,I come from "+ address);
    }
}
<-- 主函数-->
package zj4_6;
public class InvokeMethod{
   public static void main(String [] args) throws Exception{
    try{
      //第一种:通过ClassforName()的方式来获取class对象
      //第二种:类名.class (如:Student.class)
      //第三种:对象.class(如:Student student=new Student;student.getclass)
      //动态加载类,获取当前类的class对象   
     Class Student =Class.forName("zj4_6.Student");
     //获取Student 类名称为printinfo方法
     Method methods1=student.getMethod("printInfo");
     //通过实例化的对象,调用无参数的方法printInfo
     methods1.invoke(student.newInstance());
    
    //获取类名称中为printAddress 方法,String class 是参数类型
    Method methods2=student.getMethod("printAddress",String.class);
    //通过对象,调用有参数的方法,调用PrintAddress 方法,其中“HK”是方法传入的参数值
    methods2.invoke(student.newInstance(),"HK")
   } catch(ClassNotFoundException e){
        e.printStackTrace();
   }

  }
}

//运行的结果是:hello,I come from HK

     
























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值