【发布时间】:2011-01-24 07:15:21
【问题描述】:
我有以下代码:
import com.apple.dnssd.*;
public interface IServiceAnnouncer {
public void registerService();
public void unregisterService();
public boolean isRegistered();
}
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
此代码保存在名为“HelloWorld.java”的文件中。 Java 编译器抱怨此代码。它写道IServiceAnnouncer 类是公共的,它应该在一个名为“IServiceAnnouncer.java”的文件中声明。
我对此有几个问题:
为什么编译器会说
IServiceAnnouncer是一个类?是一个界面。还是接口是类的部分案例?-
如果我将接口
IServiceAnnouncer放在一个名为“IServiceAnnouncer.java”的单独文件中(如编译器所希望的那样),那么如何从“HelloWorld.java”中使用它? public interface是什么意思?公共接口和非公共接口有什么区别?
【问题讨论】:
-
与您的问题无关,但根据标准 Java 编码标准,您应该将“I”放在接口前面。
-
@Steve Kuo:很好的建议,但你可能有话要说。 :-) java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html