谈到Java(7),你可以得到一个类这样的原始类:
Class classOfInt = int.class
对于每一个,你将获得一个名为基本类型的“类”:
int.class --> int
byte.class --> byte
double.class --> double
...
但是你无法创建那些实例:
char.class.newInstance(); // throws 'InstantiationException'
它们的类似乎没有映射到相应的包装类(Integer
,Byte
等。)。
那么为什么他们有“课程”,他们如何使用以及如何实施?
答案 0 :(得分:6)
它们用于反思。
Method round = Math.class.getMethod("round", double.class);
System.out.println(Arrays.toString(round.getParameterTypes()));
System.out.println(round.getReturnType() == long.class);
Method exit = System.class.getMethod("exit", int.class);
System.out.println(Arrays.toString(exit.getParameterTypes()));
System.out.println(exit.getReturnType() == void.class);
打印
[double]
true
[int]
true
它们是如何实施的?
它们内置于JVM,没有用于定义它们的类文件。