在单个.Java文件中,是否可以拥有公共接口和公共类(实现接口)
我是Java编码的新手,并且在网上的大多数地方编写的.java文件不能包含超过2个公共类.我想知道接口和类是否也是如此.
aio*_*obe 15
不,这是不可能的.每个.java文件最多可以有一个顶级公共类型.JLS 7.6.顶级类型声明声明如下:
[...]每个编译单元最多只能有一个[顶级公共]类型.
但是,您可以在同一文件中拥有受包保护的类.编译得很好(如果你把它放在一个名为的文件中Test.java:
public interface Test {
// ...
}
class TestClass implements Test {
// ...
}
Run Code Online (Sandbox Code Playgroud)
如果使用嵌套类,则可以在一个文件中包含任意数量的公共类.在你的例子中:
public interface I {
public class C implements I {
...
}
public class D implements I {
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
public interface A
{
public void helloWorld();
public static class B implements A{
@Override
public void helloWorld() {
System.out.print("Hello World");
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16218 次 |
| 最近记录: |