J'ai le code suivant:Devrais-je mettre une interface publique dans un fichier séparé?
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!");
}
}
Ce code est enregistré dans un fichier appelé "HelloWorld.java". Le compilateur Java se plaint de ce code. Il écrit que la classe IServiceAnnouncer
est publique et doit être déclarée dans un fichier appelé "IServiceAnnouncer.java".
J'ai plusieurs questions à ce sujet:
Pourquoi dirait le compilateur que
IServiceAnnouncer
est une classe? C'est une interface. Ou l'interface est un cas partiel d'une classe? Si je mets l'interfaceIServiceAnnouncer
dans un fichier séparé appelé "IServiceAnnouncer.java" (comme le veut le compilateur), comment puis-je l'utiliser depuis "HelloWorld.java"?Que signifie
public interface
? Quelle est la différence entre une interface publique et une interface publique?
Sans rapport avec votre question, mais selon les normes de codage Java standard, vous devez placer "I" devant les interfaces. –
@Steve Kuo: Bon conseil, mais vous avez peut-être un mot. :-) http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html – trashgod