初识反射之三(获取方法和成员变量)

  当你还是一个对象时,你通过了修仙,getClass()方法得道成仙,然后开心的当上了神仙。然后发现神仙也有很多种,赤脚大仙,风神电母。那么你是不是好奇曾经仰望的神仙(类)会有什么技能(方法)和名字呢?这就是这篇我们应该讨论的。哈哈哈!

  万物皆对象。类和方法也是对象。

  然后通过方法。通过 getMethods() 获得了里面的方法。而方法里面还有 你能看到人家自己声明的方法以及全部方法。

  再细分的话,方法不是有返回值吗?还有参数嘛。这些都可以用方法获得,不过是得到的就是数组了。getRurnType()得到返回值类型

  然后通过getName()获得方法或者类的名字。

  

其实还可以获得参数就相当于神仙的法宝。这些参数类型的方法叫做getparamType 。

时间: 2024-08-05 04:56:28

初识反射之三(获取方法和成员变量)的相关文章

反射②:调用构造方法、普通方法以及成员变量

先获取一个类(如Student) Class clazz = Student.class; ①获取构造方法:借助Class类某些可以获取对应类中声明的构造方法实例对象 //Test测试//返回该对象表示类参数列表相匹配的public构造方法(不含继承)对应的Constructor对象 Constructor constructor = clazz.getConstructor();//public //返回该对象表示类参数列表相匹配的构造方法(不区分访问权限)对应的Constructor对象 C

反射之获取方法信息

本文接上文"反射之Class类的使用",以编写一个用来获取类的信息(成员函数.成员变量)的工具类来讲解"反射之获取方法信息" 1.新建工具类,命名ClassUtil,输入一个对象(Object),输出该对象的基础信息方法(printClassMessage) 1 /** 2 * 打印类的信息,成员函数.成员变量 3 * Created by Format on 2017/6/3. 4 */ 5 public class ClassUtil { 6 7 } 2.获取类

乐字节Java反射之三:方法、数组、类加载器和类的生命周期

本文承接上一篇:乐字节Java发射之二:实例化对象.接口与父类.修饰符和属性 继续讲述Java反射之三:方法.数组.类加载器 一.方法 获取所有方法(包括父类或接口),使用Method即可. public static void test() throws Exception { Class<?> clz = Class.forName("com.shsxt.ref.simple.User "); //获取属性 System.out.println("======

J2SE_通过反射能获取方法参数名称吗?

一.Java通过反射可以获取方法的参数名称吗? 不能!!! 二.测试示例代码: import java.lang.reflect.Method; class T { public void print(String username) { System.out.println(username); } } public class Test { public static void main(String[] args) { T t = new T(); t.print("zhangsan&qu

获取类的成员变量(ios)

获取类的成员变量(ios) unsigned int numIvars; Ivar *vars = class_copyIvarList(NSClassFromString(@"TestView"), &numIvars); NSString *key=nil; for(int i = 0; i < numIvars; i++) { Ivar thisIvar = vars[i]; key = [NSString stringWithUTF8String:ivar_get

final 关键字:用来修饰类,方法,成员变量,局部变量

final 关键字:用来修饰类,方法,成员变量,局部变量 表示最终的不可变的 1.final修饰一个类 表示当前的类不能有子类,也就是不能将一个类作为父类 格式: public final class 类名称 { class body } 一个类如果是final的,那么其中所有成员方法都不能被覆盖重写(因为没有子类),但是该类可以有父类 2.final关键字修饰成员方法 这个方法就是最终方法,也就是该类的子类不能覆盖重写这个方法 对于类.方法来说abstract.final不能同时使用,因为他们

C# 使用反射获取类的成员变量名、方法及属性的若干笔记

参考链接:http://blog.csdn.net/ccaakkee/article/details/2425950,作者:CSDN ccaakkee   http://blog.csdn.net/jaydawson/article/details/5539438,作者:CSDN jaydawson 代码: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys

通过反射,如何操作私有成员变量(取/赋值),如何调用私有方法?

Java的反射工具很强大,有句著名的话:No reflection ,no frameworks. 工作中直到涉及到UT,才体会到它的重要性,现归纳整理一个小例子: 反射工具类: 1 import java.lang.reflect.Field; 2 import java.lang.reflect.InvocationTargetException; 3 import java.lang.reflect.Method; 4 5 public class ReflectionUtil { 6 7

javassist:增强型的java反射工具,获取方法参数名

java的反射是不能获取方法的参数名的.比如: [java] view plaincopyprint? public String concatString(String str1,String str2){ return str1+str2; }     public String concatString(String str1,String str2){         return str1+str2;     } 想获取"str1",和"str1"这个参数