En un problema actual estoy teniendo (printing a file to a physical printer in Java) He estado ejecutando el código como un loco tratando de devorar cualquier información perdida útil del javadoc de cada clase utilizada.¿Inicializar una interfaz?
Ahora, saqué bastante de este código de las preguntas anteriores, por lo que hubo un poco que no escribí yo mismo. El problema que noté es que el código que agarré está inicializando un objeto, digamos "SimpleDoc" que implementa una interfaz (Doc) y lo asigna a esa interfaz?
Poco Fragmento de código:
Doc mydoc = new SimpleDoc(textStream, flavor, null);
Ahora por lo que me llevó a entender en Java creamos objetos. Estoy familiarizado con la herencia y estoy familiarizado con el truco de usar interfaces para permitir que una clase "herede" varias súper clases.
Pero esto simplemente no se está pegando bien. Puedes crear una clase que implemente una interfaz, eso está bien conmigo. Pero, ¿qué está sucediendo aquí cuando se crea una interfaz y un objeto se reduce a su interfaz? ¿A qué estoy accediendo cuando hago referencia a mydoc exactamente?
mydoc es una referencia a un objeto que implementa la interfaz 'Doc'. En esta situación, la interfaz se utiliza para identificar los métodos que se pueden llamar a través de la variable de referencia mydoc. Tenga en cuenta que la variable (mydoc) sigue siendo una referencia a un objeto. – DwB