【发布时间】:2017-12-13 20:35:57
【问题描述】:
我的代码如下:-
一个类T 可以扩展ClassO.Four。 Four 是 ClassO 内部的静态类,但不能扩展 ClassO.Two Two 是 ClassO 内部的内部类。我收到错误
No enclosing instance of type ClassO is available due to some intermediate constructor invocation
行为差异的原因是什么?
class ClassO
{
interface inner
{
void msg();
}
class Two implements inner
{
public void msg()
{
System.out.println("Class Two");
}
}
static class Four
{
public void msg()
{
System.out.println("Class Four");
}
}
public void m()
{
}
}
class T extends ClassO.Two **// can extend ClassO.Four but not ClassO.Three**
{
public void msg()
{
System.out.println("Class Two");
}
}
【问题讨论】:
-
`非静态内部'是一个重言式:JLS #8.1.3.
-
而且你的标题令人费解。
标签: java inheritance inner-classes