所有类型的class对象

哪些类型可以有Class对象?

  • class:外部类,成员(成员内部类、静态内部类),局部内部类,匿名内部类。

  • interface:接口

  • []:数组

  • enum:枚举

  • annotation:注解@interface

  • primitive type:基本数据类型

  • void;


测试代码如下:

package com.cheng.reflection;

import java.lang.annotation.ElementType;

public class Demo03 {
   public static void main(String[] args) {
       Class c1 = Object.class;//获取类的对象
       Class c2 = Comparable.class;//接口
       Class c3 = String[].class;//一维数组
       Class c4 = int[][].class;//二维数组
       Class c5 = Override.class;//注解
       Class c6 = ElementType.class;//枚举
       Class c7 = Integer.class;//基本数据类型
       Class c8 = void.class;//void
       Class c9 = Class.class;//Class

       //输出信息
       System.out.println(c1);  //class java.lang.Object
       System.out.println(c2); //interface java.lang.Comparable
       System.out.println(c3);//class [Ljava.lang.String;
       System.out.println(c4);//class [[I
       System.out.println(c5);//interface java.lang.Override
       System.out.println(c6);//class java.lang.annotation.ElementType
       System.out.println(c7);//class java.lang.Integer
       System.out.println(c8);//void
       System.out.println(c9);//class java.lang.Class

       //只要元素类型与维度一样,就是同一个class;
       int[] a = new int[10];//创建一维数组a
       int[] b = new int[100];
       System.out.println(a.getClass().hashCode());//输出hashcode
       System.out.println(b.getClass().hashCode());

  }
}

 

posted @ 2021-07-05 19:33  Dudo1  阅读(117)  评论(0)    收藏  举报