如何使用公共构造函数创建静态私有内部类的示例?
public class outerClass<E> {
private static class innerClass<E> {
E value;
public innerClass(E e) {
value = e;
}
}}
我已经试过了,它给出了一个错误,即out包不存在
outerClass<Integer> out = new outerClass<Integer>();
out.innerClass<Integer> = new out.innerClass<Integer>(1);
我试过这个,但它给出了一个错误,即内部类是私有的,无法访问。
outerClass<Integer>.innerClass<Integer> = new
outerClass<Integer>.innerClass<Integer>(1)
2条答案
按热度按时间zengzsys1#
new out.innerClass<Integer>(1);
但这毫无意义。innerClass
已声明static
,这意味着内部类与outerClass
; 它只是出于名称空间的目的而位于其中(也许,外部和内部都可以访问它)private
但这就是它的终点。所以,out
,作为outerClass
,没必要去那里。new outerClass<Integer>.innerClass<Integer>(1)
这也没有任何意义——这里提到outerclass只是为了名称空间:告诉java你指的是什么类。因此<Integer>
那是没有意义的。那我怎么办?
rjjhvcjd2#
你没有提到限制,所以。。。。
反思救人!