【发布时间】:2017-12-13 19:31:08
【问题描述】:
我的代码如下,我的问题是第1行的含义是什么,如果没有含义那么为什么eclipse允许infact在键入ClassO时提供inner作为可用选项。 p>
如果内部是静态嵌套类而不是内部接口并且如果有意义那么它是有意义的有什么用,我能用它做什么?
public class InterfaceInsideClass
{
public static void main(String[] args)
{
ClassO.inner **// Line 1**
}
}
class ClassO
{
interface inner
{
void msg();
}
class Two implements inner
{
public void msg()
{
System.out.println("Class Two");
}
}
class Three
{
public void msg()
{
System.out.println("Class Three not implementing interface but having same method");
}
}
static class Four
{
public void msg()
{
System.out.println("Class Four");
}
}
}
【问题讨论】:
-
和其他界面一样吗?例如,你可以说
ClassO.inner.class.getName(),或者它可以包含常量,或者静态方法.. -
或者您可能想要创建该类型的变量。它只是一个类型,就像任何其他类型一样。
-
请注意,Java 类和接口名称应以大写字母开头。
-
@xs0 - 感谢您的回答,它适用于静态方法,但最终变量/常量出错:------- public class InterfaceInsideClass { public static void main(String[] args) { ClassO.inner.i; // 这里发生错误 } } class ClassO { interface inner { int i=10; } }