哪些类型可以有calss对象
- class:外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类。
- interf:接口
- []数组
- enum:枚举
- annoutation:注解@interface
- primitive type:基本数据类型
- void
public class Test { 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; Class c9 = Class.class;//class System.out.println(c1); System.out.println(c2); System.out.println(c3); System.out.println(c4); System.out.println(c5); System.out.println(c6); System.out.println(c7); System.out.println(c8); System.out.println(c9); } }
结果
class java.lang.Object
interface java.lang.Comparable
class [Ljava.lang.String;
class [[I
interface java.lang.Override
class java.lang.annotation.ElementType
class java.lang.Integer
void
class java.lang.Class
int[] a = new int[100]; int[] b = new int[200]; System.out.println(a.getClass().hashCode()); System.out.println(b.getClass().hashCode());
结果一样
得知:只要元素类型与维度一样,就是同一个Class。