我有以下代码:
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
意思?公共接口和非公共接口有什么区别?