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
    
    
        }
    }
    迎风少年
  • 相关阅读:
    PSE Access Service
    The JXTA Migration
    JXSE 2.5 : What's Cool #6 PeerGroup Executor and ScheduledExcutor
    JXTA Kitchen
    LookupListener中的resultChanged方法是在EDT中执行么?
    同一台机器启动两个结点时的端口冲突问题
    (转)OpenSSL中对称加密算法的统一接口
    关于“未能加载文件或程序集“System.Core, Version=3.5.0.0
    暗香浮动的夜晚
    java xml序列化与反序列化
  • 原文地址:https://www.cnblogs.com/ZYH-coder0927/p/13784234.html
Copyright © 2011-2022 走看看