哪些类型可以有Class对象?
1)class:外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类
2)interface:接口
3)[]:数组
4)enum:枚举
5)annotationa:注解
6)prinitive type:基本数据类型
7)void
1 package reflection; 2 3 4 import java.lang.annotation.ElementType; 5 6 // 所有类型的class 7 public class test04 { 8 public static void main(String[] args) { 9 Class c1 = Object.class; // 类 10 Class c2 = Comparable.class; // 接口 11 Class c3 = String[].class; // 一维数组 12 Class c4 = int[][].class; // 二维数组 13 Class c5 = Override.class; // 注解 14 Class c6 = ElementType.class; // 枚举 15 Class c7 = Integer.class; // 基本数据类型 16 Class c8 = void.class; // void 17 Class c9 = Class.class; 18 19 System.out.println(c1); 20 System.out.println(c2); 21 System.out.println(c3); 22 System.out.println(c4); 23 System.out.println(c5); 24 System.out.println(c6); 25 System.out.println(c7); 26 System.out.println(c8); 27 System.out.println(c9); 28 29 30 // 只要元素类型与维度一样,就是同一个class 31 int[] a = new int[10]; 32 int[] b = new int[100]; 33 System.out.println(a.getClass().hashCode()); 34 System.out.println(b.getClass().hashCode()); 35 36 37 } 38 39 40 }
结果: