23.02.2017 Views

Java

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

254<br />

Apéndice 1. Reflexión<br />

de instancia de los objetos clases. Hay otra forma de obtener el objeto<br />

que modela una clase en particular y es mediante el método estático de<br />

Class, forName. Este método permite, utilizando el nombre completo de<br />

una clase (incluido el paquete), cargar esa clase y devolverla.<br />

assertSame(Class.forName(“java.util.Date”), Date.class);<br />

Esta forma se utiliza en casos muy puntuales y en general no es<br />

recomendable usarla, ya que podemos obtener errores en tiempo de<br />

ejecución debido a que esa clase no existe o su nombre está mal escrito.<br />

@Test(expected=ClassNotFoundException.class)<br />

public void testClassForName() throws ClassNotFoundException {<br />

Class.forName(“clase.no.Existente”);<br />

}<br />

Es necesario tener en cuenta que al ser objetos, cuando<br />

debuggeamos en Eclipse, es posible inspeccionar las instancias de<br />

clase del mismo modo en que lo haríamos con cualquier otro objeto.<br />

Si queremos, podemos crear una nueva instancia de esta clase sin<br />

necesidad de llamar directamente a un constructor. Para realizar esta<br />

acción debemos proceder a enviar el mensaje newInstance. Debemos<br />

saber que este método utiliza el constructor por defecto (sin agregar<br />

argumentos) si se encuentra disponible.<br />

StringBuilder builder = StringBuilder.class.newInstance();<br />

Nombres de las clases<br />

Las clases en <strong>Java</strong> tienen nombres y tienen un paquete al que pertenecen. El nombre completo de una<br />

clase está formado por el nombre del paquete más el nombre de la clase, por ejemplo java.lang.Object.<br />

Las clases anidadas agregan su propio nombre al nombre completo de la clase contenedora, pero no<br />

utilizan el punto sino que usan el signo $, por ejemplo, java.util.Map$Entry.<br />

www.redusers.com<br />

www.FreeLibros.me

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!