关闭

JAVA反射之方法反射的基本操作

标签: 方法的反射
398人阅读 评论(0) 收藏 举报
分类:


1.什么是JAVA反射机制

1.1.JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。

2.方法的反射

2.1.如何获取某个方法:方法的名称和方法的参数列表才能唯一的确定某个方法。

2.2.方法的反射操作:method.invoke(对象,参数列表)例如:

public class MethodDemo1(){
    public static void main(String[] args){
        //要获取print方法就是获取类的信息,要先获取类的类类型
        A a1 = new A();
        Class c1 = a1.getClass();
        /*
         *获取方法由方法名和参数决定
         *getMethod获取的是public方法
         *getDeclaredMethod自己声明的方法
         */
        try{	
             //Method m = c.getMethod(“print”, new Class[]{int.class, int.class})
             Method m = c.getMethod(“print”, int.class,int.class);

             //方法的反射操作
             //a1.print(10,10);方法的反射操作是作用于m对象来经行方法的调用和	a1.print调用的效果相同
             //如果方法有返回值则放回具体返回值,没有则返回null
             Object o = m.invoke(a1,new Object[]{int.class, int.class});

        }cathc(Exception e){
            e.printStackTrace();

        }
    }
}

class A(){
    public void print(int a, int b){
        System.out.println(a+b);
    }

    public void print(String a, String b){
        System.out.println(a.toUpperCase()+”,”+b.toLowerCase());
    }
}


0
0
查看评论

Java反射之——方法反射的基本操作

package com.imooc.reflect; import java.lang.reflect.Method; public class MethodDemo1 { public static void main(String[] args) throws Exception { ...
  • u012110719
  • u012110719
  • 2015-04-25 17:39
  • 1517

Java反射的几个方法区别

getFields()与getDeclaredFields()区别:getFields()只能访问类中声明为公有的字段,私有的字段它无法访问,能访问从其它类继承来的公有方法.getDeclaredFields()能访问类中所有的字段,与public,private,protect无关,不能访问从其它...
  • zjx409
  • zjx409
  • 2015-08-18 14:50
  • 475

Java反射实现几种方式

可以通过 1 2 3 实现给私有属性赋值Field field_qt = form.gettSswageTrtmt().getClass().getDeclaredField(runParam); field_qt.setAc...
  • qq_27289001
  • qq_27289001
  • 2017-08-08 11:34
  • 669

java中方法反射的基本操作

package com.Jim; import java.lang.reflect.Method; public class test1 {    /*方法的反射 如何获取某个方法 方法的名称和方法的参数列表才能唯一决定某个方法 方法反射的操作 method.invoke(对象,...
  • oShuangLengChangHe12
  • oShuangLengChangHe12
  • 2018-01-19 16:36
  • 23

整理Java反射常用方法

整理常用的Java反射相关的方法,方便查询记忆。
  • github_35180164
  • github_35180164
  • 2016-07-26 16:30
  • 635

反射的基本用法

反射给java提供了,运行时获取一个类实例的可能,这一点非常灵活,你仅仅传一个类的全限定名,就能通过反射,来获取对应的类实例,我们一般会用Class类,来调用这个被反射的Objcet类下的:构造方法,属性,或方法等。 反射的优缺点如下: 优点: A:能够运行时动态获取类的实例,大大提高...
  • HUandroid
  • HUandroid
  • 2016-09-09 12:38
  • 973

Java反射reflect学习笔记_3:反射类的方法

今天给大家po出我的第三份关于学习反射的笔记,关于对类的方法的反射。其中包括静态方法,普通方法,带参数的方法,以及最重要的String[]数组的方法的反射以及需要注意的细节问题,都是基础,所以请各位多多包涵! 有关前面两篇文章请看下面: Java反射reflect学习笔记_1:反射的简述 Ja...
  • nthack5730
  • nthack5730
  • 2015-11-17 16:15
  • 12184

Java反射高级应用--利用反射调用类的私有方法修改私有方法值,以及替换Java的类成员数据

package me.test; import java.lang.reflect.*;  //导入反射需要的包 public class ReflectTest {  public static void main(String[] args)  throws&...
  • yue7603835
  • yue7603835
  • 2012-01-15 01:13
  • 5871

Java 反射机制的用途和缺点

反射的用途反射被广泛地用于那些需要在运行时检测或修改程序行为的程序中。这是一个相对高级 的特性,只有那些语言基础非常扎实的开发者才应该使用它。如果能把这句警示时刻放在心 里,那么反射机制就会成为一项强大的技术,可以让应用程序做一些几乎不可能做到的事情。 反射的缺点 性能第一 反射包括了一些动态类...
  • cnzl0123
  • cnzl0123
  • 2017-06-19 11:27
  • 934

Java反射用法详解

在过去的几次面试中,都被问到了反射这块的知识,并没有系统了解过Java的反射机制(现实是几乎怎么接触过),所以这方面的问题基本都回答不上来T_T 镇定思痛,我们来一起好好看看Java中反射的用法。
  • hb_peng
  • hb_peng
  • 2016-08-26 21:27
  • 2896
    个人资料
    • 访问:33242次
    • 积分:833
    • 等级:
    • 排名:千里之外
    • 原创:60篇
    • 转载:3篇
    • 译文:0篇
    • 评论:3条
    最新评论