您的位置:首页技术文章
文章详情页

java - 反射数组:为什么每次获取Modifiers都是public,abstract,以及final

浏览:59日期:2023-12-03 18:20:52

问题描述

具体代码如下,为什么每次只要和数组相关的获取都是public,abstract,final

Class doubles = Class.forName('[D');System.out.printf('Modifiers:%n %s%n%n', Modifier.toString(doubles.getModifiers()));Class doubles2 = Class.forName('[[D');System.out.printf('Modifiers:%n %s%n%n', Modifier.toString(doubles2.getModifiers()));Class Foo = Class.forName('[Ljava.lang.String;');System.out.printf('Modifiers:%n %s%n%n', Modifier.toString(Foo.getModifiers()));

请问这是为什么 ??

问题解答

回答1:

数组对应的类是由JVM生成的,所以出现这个abstract final的奇葩现象,final防止继承,abstract防止创建实例(实际上它连构造器都没有)

标签: java
相关文章: