美文网首页
数组类的加载

数组类的加载

作者: 大鹏_xzlp | 来源:发表于2018-07-21 12:54 被阅读0次

    对于数组实例来说,其类型是由JVM运行期动态生成的,表示为[[Lcom.shengsiyuan.jvm.classloader.MyParent4;这种形式
    动态生成的类型,其父类型是Object。

    对于数组来说,JavaDoc经常将构成数组的元素为Component,实际上就是将数组降低一个维度后的类型。但是数组类与类加载器仍然又很密切的关系,因为数组类的元素类型(ElementType,指的是数组去掉所有维度的类型)最终是要靠类加载器去创建。

    public class MyTest4 {
        public static void main(String[] args) {
            MyParent4[] myParent4s = new MyParent4[1];
    
            System.out.println(myParent4s.getClass());//class [Lcom.shengsiyuan.jvm.classloader.MyParent4;
            System.out.println(myParent4s.getClass().getClassLoader());//sun.misc.Launcher$AppClassLoader@18b4aac2
    
            System.out.println("========");
    
            MyParent4[][] myParent4s1 = new MyParent4[1][1];
            System.out.println(myParent4s1.getClass());//class [[Lcom.shengsiyuan.jvm.classloader.MyParent4;
            System.out.println(myParent4s.getClass().getSuperclass());//class java.lang.Object
    
            System.out.println("========");
    
            int[] ints = new int[1];
            System.out.println(ints.getClass());//class [I
            System.out.println(ints.getClass().getSuperclass());//class java.lang.Object
        }
    }
    
    class MyParent4{
        static {
            System.out.println("Myparent4 static code");
        }
    }
    

    相关文章

      网友评论

          本文标题:数组类的加载

          本文链接:https://www.haomeiwen.com/subject/pmlhmftx.html