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