Tengo el siguiente código:¿Debo poner una interfaz pública en un archivo separado?
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!");
}
}
Este código se guarda en un archivo llamado "HelloWorld.java". El compilador de Java se queja de este código. Escribe que la clase IServiceAnnouncer
es pública y debe declararse en un archivo llamado "IServiceAnnouncer.java".
Tengo varias preguntas acerca de esto:
¿Por qué el compilador dicen que
IServiceAnnouncer
es una clase? Es una interfaz. ¿O la interfaz es un caso parcial de una clase?Si pongo la interfaz
IServiceAnnouncer
en un archivo separado llamado "IServiceAnnouncer.java" (como el compilador quiere), ¿cómo puedo usar desde el "HelloWorld.java"?¿Qué significa
public interface
? ¿Cuál es la diferencia entre una interfaz pública y una no pública?
No está relacionado con su pregunta, pero según las normas estándar de codificación Java, debe poner "I" delante de las interfaces. –
@Steve Kuo: Buen consejo, pero es posible que tenga una palabra. :-) http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html – trashgod