zoukankan      html  css  js  c++  java
  • 反射之------Class实例可以是那些类型?

    概述:

    关于Class实例的获得的四种方法中我们知道可以通过类名.class获得对应的Class实例,也就是说所有被加载到内存中的当前运行时类都对应一个Class实例,而这个“当前运行时类”并不是指一定是类的概念,也就是Class实例的类型并不是只有类的概念,Class实例实际上有:

    Class实例的类型:

    • class
      外部类,成员(成员内部类,静态内部类),局部内部类,匿名内部类
    • interface
      接口
    • []
      数组
    • enum
      枚举
    • annotation
      注解
    • primitive type
      基本数据类型
    • void

    代码演示:

    import java.lang.annotation.ElementType;
    
    public class GetClassDemos {
        public static void main(String[] args) {
            //1.class具体类
            Class<Object> objectClass = Object.class;
            System.out.println("class具体类"+objectClass);
            //2.接口
            Class<Comparable> comparableClass = Comparable.class;
            System.out.println("接口"+comparableClass);
            //3.数组
            Class<String[]> strArrClass1 = String[].class;
            Class<String[][]> strArrClass2 = String[][].class;
            System.out.println("数组"+strArrClass1);
            System.out.println("数组"+strArrClass2);
           //不同维度的数组的Class对象是不同的
            //4.枚举
            Class<ElementType> elementTypeClass = ElementType.class;
            System.out.println("枚举"+elementTypeClass);
            //5.注解
            Class<Override> overrideClass = Override.class;
            System.out.println("注解"+overrideClass);
            //6.基本数据类型
            Class<Integer> integerClass = int.class;
            System.out.println("基本数据类型"+integerClass);
            //7.void
            Class<Void> voidClass = void.class;
            System.out.println("void"+voidClass);
    //关于数组的注意:
            int[] a=new int[100];
            int[] b=new int[200];
            Class aClass = a.getClass();
            Class bClass = b.getClass();
            System.out.println(aClass==bClass);//只要数组类类型和维度相同那么就是同一个Class
    
    
        }
    }
    迎风少年
  • 相关阅读:
    java调用打印机方式二
    java调用系统打印机
    Centos7开放端口(永久)
    java毫秒级别定时器
    java计算接口调用时间
    java实现当前时间往前推N小时
    java注解日志记录到数据库
    Java后端HttpClient Post提交文件流 及服务端接收文件流
    springboot整合websocket
    注解@Slf4j使用
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13784234.html
Copyright © 2011-2022 走看看