Article View: es.comp.lenguajes.java
Article #26379Re: Duda ESCEPTICA
From: Jonathan Revusky
Date: Fri, 15 Jan 1999 00:00
Date: Fri, 15 Jan 1999 00:00
65 lines
2416 bytes
2416 bytes
Javier Pulido wrote:
> public class Principal
> {
> public static void main(String[] args) throws Exception
> {
> Principal prog=new Principal();
> ClaseHijo1 hijo1;
>
> hijo1=prog.obtenerHijo1();
> return;
> }
>
> public ClaseHijo1 objenerHijo1()
> {
> return ((ClaseHijo2) new ClaseHijo2());
> }
> }
>
> Pregunta: Puesto que ClaseHijo2 no es una subclase de ClaseHijo1, �como es
> posible que el m�todo pueda devolver un objeto ClaseHijo2, teniendo en
> cuenta que lo siguiente no es v�lido? :
Es que no lo hace. El problema est� en la l�nea de c�digo siguiente:
public static void main(String[] args) throws Exception
^^^^^^^^^^^^^^^^
Se est�n tragando las excepciones.
public ClaseHijo1 objenerHijo1()
{
return ((ClaseHijo2) new ClaseHijo2());
}
}
En el c�digo arriba, tienes un cast. El cast falla. Por lo tanto,
la m�quina virtual lanza una ClassCastException
Se sale de la rutina y no pasa nada, la excepcion no se anuncia por
culpa de la "throws Exception" del m�todo main.
Prueba algo as�:
public ClaseHijo1 objenerHijo1()
{
try {
return ((ClaseHijo2) new ClaseHijo2());
}
catch (ClassCastException e) {
System.out.println("el cast ha fallado.");
e.printStacktrace();
}
}
Haces un try-catch expl�cito de la excepci�n.
Espero que esto te aclare la cosa.
Jonathan Revusky
--
Java and Delphi Consulting
Make your .class files double-clickable
with SmartJ
http://www.bigfoot.com/~crystalline.solutions
Technical Details
Message-ID:
<369EA02E.C023BF46@jet.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<77asu6$1cg$1@talia.mad.ibernet.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,bc8b3e4836d8e6a7 X-Google-Attributes: gid1116f3,public From: Jonathan Revusky <jrevusky@jet.es> Subject: Re: Duda ESCEPTICA Date: 1999/01/15 Message-ID: <369EA02E.C023BF46@jet.es> X-Deja-AN: 432776298 Content-Transfer-Encoding: 8bit References: <77asu6$1cg$1@talia.mad.ibernet.es> X-Accept-Language: en Content-Type: text/plain; charset=iso-8859-1 X-Complaints-To: usenet@lola.ctv.es X-Trace: lola.ctv.es 916365508 21813 195.55.162.40 (15 Jan 1999 01:58:28 GMT) Organization: CTV/JET Mime-Version: 1.0 Reply-To: jrevusky@bigfoot.com NNTP-Posting-Date: 15 Jan 1999 01:58:28 GMT Newsgroups: es.comp.lenguajes.java