SoloCodigo

Programación General => Java => Mensaje iniciado por: grandzam en Jueves 2 de Noviembre de 2006, 05:23

Título: Métodos Internos
Publicado por: grandzam en Jueves 2 de Noviembre de 2006, 05:23
Hola bueno, hice un examen en la escuela y no sé si lo que respondí esta bien, me pusieron una parte de código asi:

Código: Text
  1. int g(){
  2.    System.out.println("Método interno");
  3.    int h(){
  4.       System.out.println("Método interno");
  5.    }
  6. }
  7.  

Me pedía que encontrara el error y describiera como puediese solucionarse, lo que contesté fué lo siguiente:

1.- Sí g() fuese un método interno, entonces, g() debería estar dentro de otro método;

2.- g() y h() deben retornar un valor int, falta return en ambos

3.- Si los métodos internos no existiesen en Java, entonces el método h() debería sacarse de g(), y corregir lo que dije en el punto 2.

Bueno en realidad no sé si Java soporte métodos internos, y esa es mi pregunta, existen? y lo que contesté esta bien o esta mal???

Mil gracias a quien me responda...
Título: Re: Métodos Internos
Publicado por: silverfox en Jueves 2 de Noviembre de 2006, 12:42
Hola...

¿Estás seguro de que hay un error ahí?

Yo veo más de uno ;)

 el punto 2.- es correcto: Los dos métodos devuelven un int, pero ninguno de los dos tiene un return válido.

Para continuar y como respuesta a tu pregunta de si java admite métodos internos, escribe un programa que lo haga, a ver qué te dice el compilador...   :P

Por otra parte, las clases internas (definir una clase dentro de otra) sí que están permitidas sin problemas.

Otra observación, el método h sólo podría usarse (en caso de ser admitido en ese lenguaje) únicamente dentro de g.

Un saludo.



Silverfox

Edit: aclaraciones varias
Título: Re: Métodos Internos
Publicado por: lencho en Jueves 2 de Noviembre de 2006, 20:57
pues si.
1. Correcto
Citar
Sí g() fuese un método interno, entonces, g() debería estar dentro de otro método
</b>.
2. Correcto
Citar
g() y h() deben retornar un valor int, falta return en ambos
</b>.


BYTE.