zoukankan      html  css  js  c++  java
  • Class类

    Java中每定义一个java class实体都会产生一个class对象。当我们编写一个类编译完成以后,在生成的.class文件中就会产生一个class对象,这个class对象用于表示这个类的类型信息。Class中没有公共的构造器,也就是说class对象不能被实例化。Class类包含的方法如下:

    1、toString()

    public String toString() {

            return (isInterface() ? "interface" : (isPrimitive() ? "" : "class")) + getName();

    }

    toString方法可以将对象转换为字符串,toString()首先会判断class类型是否是接口类型,也就是说普通类和接口都能用class对象来表示,然后再判断是否是基本数据类型,这里判断的都是基本的数据类型和包装类,还有void类型。所有的类型如下:

    • java.lang.Boolean:代表boolean数据类型的包装类
    • java.lang.Character:代表char数据类型的包装类
    • java.lang.Byte:代表byte数据类型的包装类
    • java.lang.Short:代表short数据类型的包装类
    • java.lang.Integer:代表int数据类型的包装类
    • java.lang.Long:代表long数据类型的包装类
    • java.lang.Float:代表float数据类型的包装类
    • java.lang.Double:代表double数据类型的包装类
    • java.lang.Void:代表void数据类型的包装类

    然后是getName()方法,这个方法返回类的全限定名称:

    • 如果是引用类型,比如String.class.getName()—》java.lang.String
    • 如果是基本数据类型,比如byte.class.getName()—》byte
    • 如果是数组类型,比如new Object[3].getClass.getName()—》java.lang.Object

    2、toGenericString()

    这个方法会返回类的全限定名称,而且包括类的修饰符合类型参数信息。

    3、forName()

    根据类名获得一个Class对象的引用,这个方法会使类对象进行初始化。

    例如 Class t = Class.forName("java.lang.Thread");能够初始化一个Thread线程对象。在java中,一共有三种获取实例的方式:

    • Class.forName("java.lang.Thread")
    • Thread.Class
    • Thread.getClass()

    4、newInstance()

    创建一个类的实例,代表着这个类的对象。forName()方法对类进行初始化,newInstance方法对类进行实例化。

    5、getClassLoader()

    获取类加载器对象。

    6、getTypeParameters()

    按照声明的顺序获取对象的参数类型信息。

    7、getPackage()

    返回类的包

    8、getInterfaces()

    获得当前类实现的类或接口,可能是多个,所以返回的是Class数组。

    9、Cast

    把对象转换成代表类或是接口的对象

    10、asSubclass(Class clazz)

    把传递的类的对象转换成代表其子类的对象

    11、getClasses()

    返回一个数组,数组中包含该类中所有公共类和接口类的对象

    12、getDeclaredClasses()

    返回一个数组,数组中包含该类中所有类和接口类的对象

    13、getSimpleName()

    获得类的名字

    14、getFields()

    获得所有公有的属性对象

    15、getField(String name)

    获得某个公有的属性对象

    16、getDeclaredField(String name)

    获得某个属性对象

    17、getDeclaredFields()

    获得所有属性对象

    18、getAnnotation(Class annotationClass)

    返回该类中与参数类型匹配的公有注解对象

    19、getAnnotations()

    返回该类所有的公有注解对象

    20、getDeclaredAnnotation(Class annotationClass)

    返回该类中与参数类型匹配的所有注解对象

    21、getDeclaredAnnotations()

    返回该类所有的注解对象

    22、getConstructor(Class...<?> parameterTypes)

    获得该类中与参数类型匹配的公有构造方法

    23、getConstructors)

    获得该类的所有公有构造方法

    24、getDeclaredConstructor(Class...<?>parameterTypes)

    获得该类中与参数类型匹配的构造方法

    25、getDeclaredConstructors()

    获得该类所有构造方法

    26、getMethod(String name,Class...<?>parameterTypes)

    获得该类某个公有的方法

    27、getMethods()

    获得该类所有公有的方法

    欢迎批评指正,提出问题,谢谢!
  • 相关阅读:
    C++ Builder编写WinForm Post数据至Web服务器并得到返回数据
    东方网点网吧电影下载url
    自己写的常用jquery扩展函数
    给IT新人的15点建议:苦逼程序员的辛酸反省与总结
    hdu 2152 Fruit (母函数)
    母函数
    hdu 1709 The Balance (母函数)
    hdu 1171 Big Event in HDU (母函数)
    hdu 1085 Holding BinLaden Captive! (母函数)
    hdu 1398 Square Coins (母函数)
  • 原文地址:https://www.cnblogs.com/xxeleanor/p/14407704.html
Copyright © 2011-2022 走看看