Java--Reflect(反射)专题3——获取类的方法的所有信息

来源:互联网 发布:海南环岛高铁停运 知乎 编辑:程序博客网 时间:2024/04/30 06:51

转载请注明http://blog.csdn.net/uniquewonderq

代码演示说明:常见数据类型的类类型。

    package com.test;    public class test {    public static void main(String[] args)  {           Class c1=int.class;//int的类类型           Class c2=String.class;//string 类的类类型           Class c3=double.class;           Class c4=Double.class;           Class c5=void.class;           System.out.println(c1.getName());           System.out.println(c2.getName());//打印类的全称           System.out.println(c2.getSimpleName());//打印不带包名的           System.out.println(c5.getName());        }    }



输出:

run:
int
java.lang.String
String
void


另外一个案例来获取类的所有信息

    package com.test;import java.lang.reflect.Method;    public class test {        //打印类的信息,包括类的成员函数,成员变量    public static void main(String[] args)  {                String s="hello";                Integer integer=8;                printClassMessage(s);               // printClassMessage(integer);        }    public static  void  printClassMessage(Object obj){        //要获取类的信息,首先获取类的类类型        Class c=obj.getClass();//传递的是哪个子类的对象,c就是该子类的类类型        //获取类的名称        System.out.println("类的名称是:"+c.getName());                /*        方法也是对象,是Mehtod类的方法,一个成员方法就是一个Method类的对象         getMethods()方法获取的是所有public的函数,包括继承父类而来的。        getDeclaredMethods()获取的是所有该类自己声明的方法,不论访问权限,        父类继承的不算,得到的是一个数组        */        Method[] ms;        ms=c.getMethods();       // ms=c.getDeclaredMethods();        for(int i=0;i<ms.length;i++){              //得到方法的名称            System.out.print("第"+(i+1)+"个方法的方法名"+ms[i].getName()+"(");            //得到方法的参数类型的类类型            Class[] paramType=ms[i].getParameterTypes();            for(Class class1:paramType){                System.out.print(class1.getName()+",");            }            System.out.print(")");            //得到方法的返回值类型的类类型            Class returnType=ms[i].getReturnType();            //接下来打印返回值类型的名字            System.out.println("第"+(i+1)+"个方法的返回值类型"+returnType.getName());        }    }    }

输出:

输出:

run:

类的名称是:java.lang.String
第1个方法的方法名equals(java.lang.Object,)第1个方法的返回值类型boolean
第2个方法的方法名toString()第2个方法的返回值类型java.lang.String
第3个方法的方法名hashCode()第3个方法的返回值类型int
第4个方法的方法名compareTo(java.lang.String,)第4个方法的返回值类型int
第5个方法的方法名compareTo(java.lang.Object,)第5个方法的返回值类型int
第6个方法的方法名indexOf(java.lang.String,int,)第6个方法的返回值类型int
第7个方法的方法名indexOf(java.lang.String,)第7个方法的返回值类型int
第8个方法的方法名indexOf(int,int,)第8个方法的返回值类型int
第9个方法的方法名indexOf(int,)第9个方法的返回值类型int
第10个方法的方法名valueOf(int,)第10个方法的返回值类型java.lang.String
第11个方法的方法名valueOf(long,)第11个方法的返回值类型java.lang.String
第12个方法的方法名valueOf(float,)第12个方法的返回值类型java.lang.String
第13个方法的方法名valueOf(boolean,)第13个方法的返回值类型java.lang.String
第14个方法的方法名valueOf([C,)第14个方法的返回值类型java.lang.String
第15个方法的方法名valueOf([C,int,int,)第15个方法的返回值类型java.lang.String
第16个方法的方法名valueOf(java.lang.Object,)第16个方法的返回值类型java.lang.String
第17个方法的方法名valueOf(char,)第17个方法的返回值类型java.lang.String
第18个方法的方法名valueOf(double,)第18个方法的返回值类型java.lang.String
第19个方法的方法名charAt(int,)第19个方法的返回值类型char
第20个方法的方法名codePointAt(int,)第20个方法的返回值类型int
第21个方法的方法名codePointBefore(int,)第21个方法的返回值类型int
第22个方法的方法名codePointCount(int,int,)第22个方法的返回值类型int
第23个方法的方法名compareToIgnoreCase(java.lang.String,)第23个方法的返回值类型int
第24个方法的方法名concat(java.lang.String,)第24个方法的返回值类型java.lang.String
第25个方法的方法名contains(java.lang.CharSequence,)第25个方法的返回值类型boolean
第26个方法的方法名contentEquals(java.lang.CharSequence,)第26个方法的返回值类型boolean
第27个方法的方法名contentEquals(java.lang.StringBuffer,)第27个方法的返回值类型boolean
第28个方法的方法名copyValueOf([C,)第28个方法的返回值类型java.lang.String
第29个方法的方法名copyValueOf([C,int,int,)第29个方法的返回值类型java.lang.String
第30个方法的方法名endsWith(java.lang.String,)第30个方法的返回值类型boolean
第31个方法的方法名equalsIgnoreCase(java.lang.String,)第31个方法的返回值类型boolean
第32个方法的方法名format(java.util.Locale,java.lang.String,[Ljava.lang.Object;,)第32个方法的返回值类型java.lang.String
第33个方法的方法名format(java.lang.String,[Ljava.lang.Object;,)第33个方法的返回值类型java.lang.String
第34个方法的方法名getBytes(int,int,[B,int,)第34个方法的返回值类型void
第35个方法的方法名getBytes(java.nio.charset.Charset,)第35个方法的返回值类型[B
第36个方法的方法名getBytes(java.lang.String,)第36个方法的返回值类型[B
第37个方法的方法名getBytes()第37个方法的返回值类型[B
第38个方法的方法名getChars(int,int,[C,int,)第38个方法的返回值类型void
第39个方法的方法名intern()第39个方法的返回值类型java.lang.String
第40个方法的方法名isEmpty()第40个方法的返回值类型boolean
第41个方法的方法名join(java.lang.CharSequence,[Ljava.lang.CharSequence;,)第41个方法的返回值类型java.lang.String
第42个方法的方法名join(java.lang.CharSequence,java.lang.Iterable,)第42个方法的返回值类型java.lang.String
第43个方法的方法名lastIndexOf(int,)第43个方法的返回值类型int
第44个方法的方法名lastIndexOf(java.lang.String,)第44个方法的返回值类型int
第45个方法的方法名lastIndexOf(java.lang.String,int,)第45个方法的返回值类型int
第46个方法的方法名lastIndexOf(int,int,)第46个方法的返回值类型int
第47个方法的方法名length()第47个方法的返回值类型int
第48个方法的方法名matches(java.lang.String,)第48个方法的返回值类型boolean
第49个方法的方法名offsetByCodePoints(int,int,)第49个方法的返回值类型int
第50个方法的方法名regionMatches(int,java.lang.String,int,int,)第50个方法的返回值类型boolean
第51个方法的方法名regionMatches(boolean,int,java.lang.String,int,int,)第51个方法的返回值类型boolean
第52个方法的方法名replace(char,char,)第52个方法的返回值类型java.lang.String
第53个方法的方法名replace(java.lang.CharSequence,java.lang.CharSequence,)第53个方法的返回值类型java.lang.String
第54个方法的方法名replaceAll(java.lang.String,java.lang.String,)第54个方法的返回值类型java.lang.String
第55个方法的方法名replaceFirst(java.lang.String,java.lang.String,)第55个方法的返回值类型java.lang.String
第56个方法的方法名split(java.lang.String,)第56个方法的返回值类型[Ljava.lang.String;
第57个方法的方法名split(java.lang.String,int,)第57个方法的返回值类型[Ljava.lang.String;
第58个方法的方法名startsWith(java.lang.String,int,)第58个方法的返回值类型boolean
第59个方法的方法名startsWith(java.lang.String,)第59个方法的返回值类型boolean
第60个方法的方法名subSequence(int,int,)第60个方法的返回值类型java.lang.CharSequence
第61个方法的方法名substring(int,)第61个方法的返回值类型java.lang.String
第62个方法的方法名substring(int,int,)第62个方法的返回值类型java.lang.String
第63个方法的方法名toCharArray()第63个方法的返回值类型[C
第64个方法的方法名toLowerCase(java.util.Locale,)第64个方法的返回值类型java.lang.String
第65个方法的方法名toLowerCase()第65个方法的返回值类型java.lang.String
第66个方法的方法名toUpperCase()第66个方法的返回值类型java.lang.String
第67个方法的方法名toUpperCase(java.util.Locale,)第67个方法的返回值类型java.lang.String
第68个方法的方法名trim()第68个方法的返回值类型java.lang.String
第69个方法的方法名wait()第69个方法的返回值类型void
第70个方法的方法名wait(long,int,)第70个方法的返回值类型void
第71个方法的方法名wait(long,)第71个方法的返回值类型void
第72个方法的方法名getClass()第72个方法的返回值类型java.lang.Class
第73个方法的方法名notify()第73个方法的返回值类型void
第74个方法的方法名notifyAll()第74个方法的返回值类型void
第75个方法的方法名chars()第75个方法的返回值类型java.util.stream.IntStream
第76个方法的方法名codePoints()第76个方法的返回值类型java.util.stream.IntStream



















































输出:

run:
int
java.lang.String
String
void


0 0
原创粉丝点击