当我们将一个类作为参数而不是它的实例传递时,我很困惑.例如:
myMethod(classA.class);
Run Code Online (Sandbox Code Playgroud)
你能举例说明我们何时以及如何将一个类作为参数传递?
一个典型的例子是通过反射创建类的实例:
//avoiding exception handling, leave that up to you
static <T> T make(Class<T> clazz) {
return clazz.newInstance();
}
//...
A a = make(A.class);
Run Code Online (Sandbox Code Playgroud)
此外,当您想在编译时确保某些引用属于特定类时,如在中所使用的那样Collections#checkedXxx.