Java基础 - Class类

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 对象是否表示一个数组类。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容