Java Javita Flashcards
Compiladores
-javac
-xjc (compilador que genera clases java a partir de un XSD)
-rmic (compilador que genera clases java, stubs en cliente y skeletons en servidor, para su comunicación C/s en programación distribuida)
Intérpretes
-java
-jshell: intérprete REPL (ReadEvaluatePrintLoop) de comandos interactivo. A partir de Java 9
javadoc
Generación de documentación html a partir de las fuentes
NOTA: Los comentarios de javadoc empiezan por /**
NOTA: Dentro de los comentario podemos usar ciertos “metadatos” ej. @see @since @author…
jar
Empaquetar clases compiladas
jarsigner
Firmar y verificar ficheros jar
wsimport
Generación de clases automáticas para los clientes de web services de tipo SOAP
rmiregistry
Servicio de nombres para registrar objetos distribuidos
javap
Desamblador de ficheros .class
jdb
Depurador
jdeps
Analizador de dependencias, clases o paquetes
jmc y jconsole
Herramienta de monitorización de la JVMb
Relación entre una clase y un interface
Es una relacion de implementación (mediante la palabra reservada implements)
NOTA: Una clase puede implementar varios interfaces NOTA: Un interface "funciona" como un tipo NOTA: Un interface es un contrato funcional que debe de cumplir la clase NOTA: Un interface puede extender a otro interface (mediante la palabra reservada extends) NOTA: Un interface (java8+) puede tener métodos CON CODIGO (default y static)
Uso de palabra reservada final y static
a) final
- En una clase: impedir que se pueda heredar de dicha clase
- En un atributo: no puede modificarse
- En un metodo: aquel que no se puede sobrescribir en las posibles clases hijas
b) static --> Tanto en atributos como en métodos sirve para definir miembros que pertenecen a la "Clase" NOTA: Para poderlos "usar" no hace falta instanciar ningún objeto (sintaxis: NombreClase.metodo(...)) NOTA: En una Clase tú puedes tener miembros estáticos y no estáticos (de instancia) NOTA: En un metodo static de una clase no puede usar/acceder/ver atributo no-estáticos NOTA: el uso de final + static en Java nos sirve para definir constantes (ej. static final int PI=3141592...)
Modificador de acceso “protected”…clases que pueden acceder a dichos miembros
- Desde la propia clase
* Desde los hijos de la clase (estén donde estén a nivel de paquetes)
* Desde cualquier clase del mismo paquete
¿Podemos añadir texto a un objeto de la clase String?
Nop, porque los objetos de la clase String son “inmutables”
NOTA: Las cadenas variables serian StringBuffer y StringBuilder