精华内容
下载资源
问答
  • 通过反射技术加载出Class里面的方法 public static void main(String[] args) throws Exception { // 参数:指定为目标类的路径 Class cls = Class.forName("af.test.Example"); Method[] methods = cls....

    通过反射技术加载出Class里面的方法

    public static void main(String[] args) throws Exception
    	{
    		// 参数:指定为目标类的路径
    		Class cls = Class.forName("af.test.Example");
    		
    		Method[] methods = cls.getDeclaredMethods();
    		for(Method m : methods)
    		{
    			String name = m.getName();
    			Type type = m.getReturnType();
    			System.out.println(name + ", " + type.getTypeName());
    		}
    	}
    
    	//样例输出
    	/*	test3, void
    		test5, double
    		test1, void
    	*/
    

    通过反射技术创建一个实例

    public static void main(String[] args) throws Exception
    	{
    		// 参数:指定为目标类的路径
    		Class cls = Class.forName("my.Student");
    		
    		Object obj = cls.newInstance();
    		
    		System.out.println("Exit.");
    	}
    

    类的方法

    public static void main(String[] args) throws Exception
    	{
    		//获取类
    		Class cls = Student.class;
    		Method[] methods = cls.getDeclaredMethods();
    		//遍历所有方法
    		for(Method m : methods)
    		{
    			//获取方法名
    			String name = m.getName();
    			//获取方法的类型
    			Class returnType = m.getReturnType();
    			//获取调用方法需要的类型
    			Class[] paramTypes = m.getParameterTypes();
    			
    			//打印出来的方法的描述
    			System.out.print("- " + returnType.getSimpleName()
    					+ " " + name + "(");
    			
    			for(int i=0; i<paramTypes.length; i++)
    			{
    				Class param = paramTypes[i];
    				System.out.print(param.getSimpleName());
    				if(i < paramTypes.length-1)
    					System.out.println(", ");
    			}
    			System.out.println(")");
    		}
    		System.out.println("Exit.");
    	}
    
    	/*
    		打印参考:
    		- Integer getId()
    		- void setName(String) 
    	*/
    

    获取一个方法

    package my;
    
    import java.lang.reflect.Type;
    
    import af.test.Example;
    
    import java.lang.reflect.Field;
    import java.lang.reflect.Method;
    
    public class Test
    {
    	public static Method getMethod(Method[] methods, String name)
    	{
    		for(Method m : methods)
    		{
    			if(m.getName().equals(name))
    				return m;
    		}
    		return null;
    	}
    	
    	public static void main(String[] args) throws Exception
    	{
    		//从example.jar中加载一个类
    		Class cls = Class.forName("af.test.Example");
    		
    		// 获取该类的方法
    		Method[] methods = cls.getDeclaredMethods();
    		
    		// 按名称遍历查找 (要求没有重名的方法)
    		Method testMethod = getMethod(methods, "test1");
    			
    		System.out.println("Exit.");
    	}
    }                                     
    
    展开全文
  • 通过反射获取方法返回类型

    千次阅读 2016-12-18 20:41:55
    import java.lang.reflect.Method; import java.lang.reflect.Type; /** * 本案例演示如何通过反射将字符串转换为类 * */ public class Test3 { public static void main(String[] args) { String user...
    package org.entity;
    
    import java.lang.reflect.Method;
    import java.lang.reflect.Type;
    
    
    /**
     * 本案例演示如何通过反射将字符串转换为类
     * */
    public class Test3 {
      
    	public static void main(String[] args) {
    		String user = "org.entity.User";//字符串是该类的全限定名
    			try {
    				Class clzz = Class.forName(user);
    				Object classObj=clzz.newInstance();//将class类转换为对象
    				//--------------------反射类调用User中的sayHello()方法-----------------------------
    				//注意导入正确的Method包名:
    				// import java.lang.reflect.Method;
    				//获取该类的所有方法
    				Method[] methods = clzz.getMethods();
    				//遍历方法
    				for(Method m:methods){
    					if(m.getName().equals("sayHello2")){//找到sayHello这个方法
    						//获取返回类型
    						Type type=m.getGenericReturnType();
    						//如果返回的是类 (比如user)aa显示为:class org.entity.User
    						//如果返回的是普通数据类型(int) aa显示为:int
    						String aa=type.toString();
    						String nameString="";
    					}
    				}
    			} catch (ClassNotFoundException e) {
    				e.printStackTrace();
    			} catch (InstantiationException e) {
    				e.printStackTrace();
    			} catch (IllegalAccessException e) {
    				e.printStackTrace();
    			}
    		
    	}
    
    }
    

     

    展开全文
  • import java.lang.reflect.Method;import java.lang.reflect.Type;/*** 本案例演示如何通过反射将字符串转换为类* */public class Test3 {public static void main(String[] args) {String user = "org.entity.User...

    package org.entity;

    import java.lang.reflect.Method;

    import java.lang.reflect.Type;

    /**

    * 本案例演示如何通过反射将字符串转换为类

    * */

    public class Test3 {

    public static void main(String[] args) {

    String user = "org.entity.User";//字符串是该类的全限定名

    try {

    Class clzz = Class.forName(user);

    Object classObj=clzz.newInstance();//将class类转换为对象

    //--------------------反射类调用User中的sayHello()方法-----------------------------

    //注意导入正确的Method包名:

    // import java.lang.reflect.Method;

    //获取该类的所有方法

    Method[] methods = clzz.getMethods();

    //遍历方法

    for(Method m:methods){

    if(m.getName().equals("sayHello2")){//找到sayHello这个方法

    //获取返回类型

    Type type=m.getGenericReturnType();

    //如果返回的是类 (比如user)aa显示为:class org.entity.User

    //如果返回的是普通数据类型(int) aa显示为:int

    String aa=type.toString();

    String nameString="";

    }

    }

    } catch (ClassNotFoundException e) {

    e.printStackTrace();

    } catch (InstantiationException e) {

    e.printStackTrace();

    } catch (IllegalAccessException e) {

    e.printStackTrace();

    }

    }

    }

    展开全文
  • 可以使用java.lang.Class.getDeclaredMethod()方法通过名称和参数类型获取声明的方法。该方法采用两个参数,即方法的名称和方法的参数数组。该getDeclaredMethod()方法为该类的方法返回一个Method对象,该对象与该...

    可以使用java.lang.Class.getDeclaredMethod()方法通过名称和参数类型获取声明的方法。该方法采用两个参数,即方法的名称和方法的参数数组。

    该getDeclaredMethod()方法为该类的方法返回一个Method对象,该对象与该方法的名称和作为参数的参数数组相匹配。

    给出一个通过名称和使用该getDeclaredMethod()方法的参数类型获取已声明方法的程序,如下所示:

    示例package Test;

    import java.lang.reflect.*;

    public class Demo {

    public String str;

    private Integer func1() {

    return 1;

    }

    public void func2(String str) {

    this.str = "Stars";

    }

    public static void main(String[] args) {

    Demo obj = new Demo();

    Class c = obj.getClass();

    try {

    Method m1 = c.getDeclaredMethod("func1", null);

    System.out.println("The method is: " + m1.toString());

    Class[] argument = new Class[1];

    argument[0] = String.class;

    Method m2 = c.getDeclaredMethod("func2", argument);

    System.out.println("The method is: " + m2.toString());

    }

    catch(NoSuchMethodException e){

    System.out.println(e.toString());

    }

    }

    }

    输出结果The method is: private java.lang.Integer Test.Demo.func1()

    The method is: public void Test.Demo.func2(java.lang.String)

    现在让我们了解上面的程序。

    在Demo类中,两个方法是func1()和func2()。演示这的代码片段如下-public String str;

    private Integer func1() {

    return 1;

    }

    public void func2(String str) {

    this.str = "Stars";

    }

    在该方法中main(),创建了Demo类的对象obj。然后getClass()用于获取c中的obj类。最后,该getDeclaredMethod()方法用于获取方法func1()和func2()并显示它们。演示这的代码片段如下-Demo obj = new Demo();

    Class c = obj.getClass();

    try {

    Method m1 = c.getDeclaredMethod("func1", null);

    System.out.println("The method is: " + m1.toString());

    Class[] argument = new Class[1];

    argument[0] = String.class;

    Method m2 = c.getDeclaredMethod("func2", argument);

    System.out.println("The method is: " + m2.toString());

    }

    展开全文
  • 转: java.lang.reflect.Method.getAnnotation()方法示例 ... annotationClass)方法如果存在这样的注释,则返回指定类型的元素的注释,否则为null。 声明 以下是java.lang.reflect.Method....
  • java.lang.reflect.Method.getAnnotation(Class annotationClass)方法如果存在这样的注释,则返回指定类型的元素的注释,否则为null。声明以下是java.lang.reflect.Method.getAnnotation(Class annotationClass)方法...
  • 为什么通过以下的代码可以获取到方法的中泛型参数的实际类型? class GenericTest{ public static void applyVectory(Veectory<Date> v1){ } public static void main(String[] args){ Method applyMethod = ...
  • 反射 反射机制有什么用? 通过java语言中的反射机制可以操作字节码文件。有点类似于黑客(可以读和修改字节码...//java.lang.reflect.Method:代表字节码中的方法字节码,代表类中的方法 //java.lang.reflect.Constru
  • 通过java.lang.reflect包下的一些方法,下面讲述的是利用Class获取,包括Field、Method类都有的方法getModifier()可以获取到Java修饰符在Java中的整数代号,都是int型。JAVA常用的一些修饰符:PUBLIC: 1PRIVATE: 2...
  • 通过Thread.currentThread().getStackTrace可获取调用堆栈的信息,返回StackTraceElement类型的数组,里面有类、方法、行数等信息。通过此方法,即可方便地获取当前函数信息以及调用者信息: // level=0, is the ...
  • 程序可通过该对象获取服务器的响应内容。 6. 释放连接。无论执行方法是否成功,都必须释放连接 //打印服务器返回的状态 System.out.println(method.getStatusLine()); //打印返回的信息 System.out.println(method....
  • 在我们的项目中,登录的时候有一个图形验证码功能,这个图形实际为一张后台返回的图片,通过get请求接口获取图片流。 问题一实现方法 将接口返回的数据设置成返回blob类型:responseType:‘blob’ axios({ method...
  • 可以通过AnnotatedType层次结构检索所有类型注释,其注释可以通过AnnotatedTypeVariable.getType()检索,AnnotatedTypeVariable.getType()将是TypeVariable的实例,它现在扩展AnnotatedElement并且恰好与Method返回的...
  • 可以通过AnnotatedType层次结构检索所有类型注释,其注释可以通过AnnotatedTypeVariable.getType()检索,AnnotatedTypeVariable.getType()将是TypeVariable的实例,它现在扩展AnnotatedElement并且恰好与Method返回的...
  • 内容索引获取 Method 对象方法参数以及返回类型通过 Method 对象调用方法使用 Java 反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法,通过使用 java.lang.reflect.Method 类就可以实现上述功能。...
  • Java Reflection(五):方法

    2017-05-23 11:57:00
    内容索引获取Method对象方法参数以及返回类型通过Method对象调用方法 使用Java反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法,通过使用java.lang.reflect.Method类就可以实现上述功能。在本节会带...
  • java反射:泛型

    2016-07-14 00:18:06
    泛型方法返回类型如果你获得了java.lang.reflect.Method对象,那么你就可以获取到这个方法的泛型返回类型信息。如果方法是在一个被参数化类型之中(如T test())那么你无法获取他的具体类型,但是如果方法返回一个...
  • * 通过登录的用户id获取其发过的所有微博id */ mStatuseAPI.userTimelineIds(uid, 0L, 0L, 50, 1, false, StatusesAPI.FEATURE_ALL, new RequestListener() { //异步回调就是发起请求后,不等待...
  • 今天在做一个返回图片接口,因鉴于通过get请求传参获取文件名和文件路径会出现严重漏洞问题,现采用直接以文件路径的方式访问文件下载,url这样的写法@RequestMapping(value = "/content/{fileName}", ...
  • Java 反射 - Java 方法

    2016-10-20 14:12:21
    方法参数以及返回类型 通过 Method 对象调用方法 使用 Java 反射你可以在运行期检查一个方法的信息以及在运行期调用这个方法,通过使用 java.lang.reflect.Method 类就可以实现上述功能。在本节会带你深入了解 ...
  • pJun:目前这个项目不走前台的url,所有的数据的获取都是直接走dwr,所有的权限控制是走spring 方法上的来走,通过在dwr调用service 方法的上面加annotation ,来得到这个method 需要的权限点,再通过...
  • * $vm 指为mavonEditor实例,可以通过如下两种方式获取 * 1. 通过引入对象获取: `import {mavonEditor} from ...` 等方式引入后,`$vm`为`mavonEditor` * 2. 通过$refs获取: html声明ref : `<mavon-editor ref...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 149
精华内容 59
关键字:

获取返回类型通过method