类中的方法


public class ClassDemo2 {

    public static void main(String [] args){

        Class c1=int.class;  //int的类类型
        Class c2=String.class; //String类的类类型  String的字节码

        Class c3=double.class;
        Class c4=Double.class; //c3和c4不一样

        Class c5=void.class;

        System.out.println(c1.getName());
        System.out.println(c2.getName());

        System.out.println(c2.getSimpleName());//不含包名的类类型
        System.out.println(c5.getName());


    }

}

package JAVA_Reflect;

import java.lang.reflect.Method;

public class ClassUtil {

    /**
     * 打印类的信息,包括类的成员函数,成员变量
     * @param obj 该对象所属类的信息
     */
    public static void printClassMessage(Object obj){
        //要获取类的信息,首先要获取类的类类型
        Class c=obj.getClass(); //传递的是哪个子类的对象,c就是该子类的类类型
        //获取类的名称
        System.out.println("类的名称是:"+c.getName());

        /*
        Method类,方法对象
        一个成员方法就是一个Method对象
        GetMethods方法获取的是所有的public的函数,包括父类继承而来的
         */
        Method [] ms=c.getMethods();
                     //c.getDeclaredMethods(); 获取自己的public函数,不包括父类的
        for(int i=0;i<ms.length;++i){
            //得到方法的返回值类型的类类型
            Class returnType=ms[i].getReturnType();
            System.out.print(returnType.getName()+" ");
            //得到方法的名称
            System.out.print(ms[i].getName()+"(");
            //获取参数类型 --->得到的是参数列表的类型的类类型
            Class [] paramTypes=ms[i].getParameterTypes();
            for(Class class1:paramTypes){
                System.out.print(class1.getName()+",");
            }
            System.out.println(")");
        }
    }


}

public class ClassDemo3 {

    public static void main(String [] args){
        String s="hello";
        ClassUtil.printClassMessage(s);
    }
}

输出:

"C:\Program Files\Java\jdk-9\bin\java" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\lib\idea_rt.jar=56678:C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\cpxiaozu-2\IdeaProjects\JavaStudyCodings\out\production\JavaStudyCodings;C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\lib\junit-4.12.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.5\lib\hamcrest-core-1.3.jar;C:\Users\cpxiaozu-2\Downloads\lib\dom4j-1.6.1.jar" JAVA_Reflect.ClassDemo3
类的名称是:java.lang.String
boolean equals(java.lang.Object,)
int length()
java.lang.String toString()
int hashCode()
void getChars(int,int,[C,int,)
int compareTo(java.lang.Object,)
int compareTo(java.lang.String,)
int indexOf(int,)
int indexOf(java.lang.String,)
int indexOf(java.lang.String,int,)
int indexOf(int,int,)
java.lang.String valueOf(int,)
java.lang.String valueOf(char,)
java.lang.String valueOf(boolean,)
java.lang.String valueOf(float,)
java.lang.String valueOf(double,)
java.lang.String valueOf(java.lang.Object,)
java.lang.String valueOf(long,)
java.lang.String valueOf([C,)
java.lang.String valueOf([C,int,int,)
java.util.stream.IntStream codePoints()
boolean isEmpty()
char charAt(int,)
int codePointAt(int,)
int codePointBefore(int,)
int codePointCount(int,int,)
int offsetByCodePoints(int,int,)
[B getBytes(java.nio.charset.Charset,)
[B getBytes()
[B getBytes(java.lang.String,)
void getBytes(int,int,[B,int,)
boolean contentEquals(java.lang.CharSequence,)
boolean contentEquals(java.lang.StringBuffer,)
boolean equalsIgnoreCase(java.lang.String,)
int compareToIgnoreCase(java.lang.String,)
boolean regionMatches(int,java.lang.String,int,int,)
boolean regionMatches(boolean,int,java.lang.String,int,int,)
boolean startsWith(java.lang.String,)
boolean startsWith(java.lang.String,int,)
boolean endsWith(java.lang.String,)
int lastIndexOf(java.lang.String,int,)
int lastIndexOf(java.lang.String,)
int lastIndexOf(int,int,)
int lastIndexOf(int,)
java.lang.String substring(int,int,)
java.lang.String substring(int,)
java.lang.CharSequence subSequence(int,int,)
java.lang.String concat(java.lang.String,)
java.lang.String replace(java.lang.CharSequence,java.lang.CharSequence,)
java.lang.String replace(char,char,)
boolean matches(java.lang.String,)
boolean contains(java.lang.CharSequence,)
java.lang.String replaceFirst(java.lang.String,java.lang.String,)
java.lang.String replaceAll(java.lang.String,java.lang.String,)
[Ljava.lang.String; split(java.lang.String,)
[Ljava.lang.String; split(java.lang.String,int,)
java.lang.String join(java.lang.CharSequence,[Ljava.lang.CharSequence;,)
java.lang.String join(java.lang.CharSequence,java.lang.Iterable,)
java.lang.String toLowerCase(java.util.Locale,)
java.lang.String toLowerCase()
java.lang.String toUpperCase(java.util.Locale,)
java.lang.String toUpperCase()
java.lang.String trim()
java.util.stream.IntStream chars()
[C toCharArray()
java.lang.String format(java.util.Locale,java.lang.String,[Ljava.lang.Object;,)
java.lang.String format(java.lang.String,[Ljava.lang.Object;,)
java.lang.String copyValueOf([C,)
java.lang.String copyValueOf([C,int,int,)
java.lang.String intern()
void wait(long,int,)
void wait()
void wait(long,)
java.lang.Class getClass()
void notify()
void notifyAll()

Process finished with exit code 0




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值