【发布时间】:2018-07-02 11:24:32
【问题描述】:
我有一个函数multi2,它返回内部类Inner 作为Object。
a 会发生什么 - 它保存在哪里以及如何访问它?
public class C {
private static Object multi2(final int a) {
class Inner {
public int hashCode() {
return 2*a;
}
}
return new Inner(); // What happens to a?
// Who allocates a?
// Can I Access a?
}
public static void main(String[] args) {
Object o = multi2(6);
System.out.println("o.hashCode() = " + o.hashCode());
o = multi2(4);
System.out.println("o.hashCode() = " + o.hashCode());
}
}
【问题讨论】:
标签: java inner-classes function-object