反射(所有类型的Class对象)

哪些类型可以有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 }

结果:

原文地址:https://www.cnblogs.com/YXBLOGXYY/p/14643149.html