美文网首页
Java基础 - Class类

Java基础 - Class类

作者: 小乖心塞 | 来源:发表于2018-02-12 17:33 被阅读33次

    Class类是什么?

    • 首先Class类来源于java.lang.Class
    • Class 本身也是一个类,还是个泛型类,只不过名字奇特了一点
    • 我们自己写的类,基本上是用来抽象某一个具体的事务,比如车,房子,人,动物.... 。可以通过new 来生成具体的对象,比如我的车,你的房子,我的房子,我的狗...
    • 而Class类用于抽象这些类和接口。比如说类和接口一般都有名字,Class用getName()来获取类或接口的名字,都有方法,都有成员属性... Class 将这些抽象出来,形成类模板。
    • 当jvm加载一个一个class文件时,就会创建出一个对象的Class实例,操作这个实例就能获取到对应类的信息

    如何获取到Class对象

    1. Dog dog = new Dog(); dog.getClass(); 根据类的对象获取class实例
    2. Class.forName("ClassName") 根据类的全名,获取对应的class实例
    3. Class dogClass = Dog.class 根据类名.class 获取对应的class实例

    Class类的常用方法

    1. getName()
      一个Class对象描述了一个特定类的属性,Class类中最常用的方法getName以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。
    2. newInstance()
      Class还有一个有用的方法可以为类创建一个实例,这个方法叫做newInstance()。例如:
      x.getClass.newInstance(),创建了一个同x一样类型的新实例。newInstance()方法调用默认构造器(无参数构造器)初始化新建对象。
    3. getClassLoader()
      返回该类的类加载器。
    4. getComponentType()
      返回表示数组组件类型的 Class。
    5. getSuperclass()
      返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。
    6. isArray()
      判定此 Class 对象是否表示一个数组类。

    相关文章

      网友评论

          本文标题:Java基础 - Class类

          本文链接:https://www.haomeiwen.com/subject/hifdtftx.html