|
NOTA: La traducción de esta documentación es un esfuerzo personal y voluntario, no es un documento oficial de Sun Microsystems
ni Oracle ni está patrocinado por ninguna de estas empresas. Los documentos originales (en inglés) están disponibles en:
http://java.sun.com/docs/books/tutorial/.
Dirija cualquier comentario, petición, felicitación, etc. a tutorialesjava_@RROBA_codexion.com. |
Si desea ayudar a mantener en funcionamiento esta web, colaborar con la traducción de estos documentos o necesita que se traduzca algĂșn capĂtulo en concreto puede realizar una donación directa mediante Paypal:
|
Question 1: What is wrong with the following interface:Answer 1:The documentation should reflect whypublic interface House { @Deprecated public void open(); public void openFrontDoor(); public void openBackDoor(); }openis deprecated and what to use instead. For example:public interface House { /** * @deprecated use ofopenis discouraged, use *openFrontDoororopenBackDoorinstead. */ @Deprecated public void open(); public void openFrontDoor(); public void openBackDoor(); }Question 2: Compile this program:
interface Closable { void close(); } class File implements Closable { @Override public void close() { //... close this file... } }What happens? Can you explain why?
Answer 2: The compiler generates an error complaining that
File.closedoesn't override any method from its superclass. This is because it is not overridingClosable.close, it is implementing it!Question 3: Consider this implementation of the
Houseinterface, shown in Question 1.If you compile this program, the compiler complains thatpublic class MyHouse implements House { public void open() {} public void openFrontDoor() {} public void openBackDoor() {} }openhas been deprecated (in the interface). What can you do to get rid of that warning?Answer 3: You can deprecate the implementation of
open:public class MyHouse implements House { //The documentation is inherited from the interface. @Deprecated public void open() {} public void openFrontDoor() {} public void openBackDoor() {} }Alternatively, you can suppress the warning:
public class MyHouse implements House { @SuppressWarnings("deprecation") public void open() {} public void openFrontDoor() {} public void openBackDoor() {} }