请考虑以下代码:
class Scratch<T> {
class InnerClass<T> {
public void executeHiddenMethod(){
//..some code to use Inner (T) type
T r = null; //declared T from inner T type
//..some code to use Outer (T) type
//?? How to use outer T type?
}
}
//when trying to invoke the code:
public static void main(String[] args) {
Scratch<String> scr = new Scratch<>();
Scratch<String>.InnerClass<Double> d = scr.new InnerClass<>();
d.executeHiddenMethod();
}
}
- 有没有办法将外部类
Scratch
的隐藏类型参数显示到内部类InnerClass
中? - 或者,JLS中是否有任何条款禁止在类型参数被隐藏的情况下公开这种情况?
1条答案
按热度按时间euoag5mw1#
除非我误解了这个问题,否则您应该能够为外部类和内部类使用不同的类型参数。
T
用于Scratch
,S
用于InnerClass
。