Preguntas varias

jclercari
17 de Marzo del 2003
Hola mi nombre es Juan Cruz, soy un novato en el tema de Java y me seria util si algun mienbro de la comunidad, podria responderme las siguientes preguntas:

1 - ¿Como puedo cuando creo un metodo con parametros, limitar estos últimos a ciertos valores? en caso afirmativo ¿como se hace para avisarle al usuario que se ha insertado un tipo o valor erroneo?

2 - En otros lenguajes como Visual, la funcion que provee un número aleatorio en realidad devuelve una secuencia de números que siempre se repite si uno ejecuta el programa, entonces se le debe cambiar la semilla y la mejor manera es pasarle la hora. Entonces, y ahora si en JAVA: El metodo "doble Random()", da realmente un número aleatorio o hay alguna forma de cambiarle la semilla.


3 - Tengo realmente un problema no comprendo para que se utilizan el "This", el "Transient", el "volatile".

4 - Me gustaría saber donde puedo conseguir un arbol completo - o, casi por lo menos - de la jerarquia de clases de java.

Mi correo electronico es [email protected]

PD: si alguno utiliza ICQ y me quisiera ayudar por favor me gustaria que me enviara su número o como puedo encontrarlo, desde ya muchisimas gracias.

Luis
17 de Marzo del 2003
Hi jclercari.
No soy ningun experto en java, pero intentaré responderte lo mejor posible. Supongo que se puede resolver lo que planteas de muchas formas. Yo te diré como yo lo haria.
1ª Crearia una funcion con los argumentos que necesito, puediendo sobrecargarla para adecuar el numero de parametros en caso que fuese necesario. Y dentro contralia los tipo, y devolveria un string (con el error) si no cumpliese los valores o no fuesen del tipo indicado.
2ª La funcion setSeed() de la clase random modifica la semilla de aleatoriedad. Aun asi no te puedo asegurar si sin la semilla es una secuencia aleatoria o no.
3ª "This" hace referencia a la clase e instancia donde te encuentras.
"Transient" se utiliza para la declaracion de variables que no han de ser tenidas en cuenta por la maquina virtual a la hora de guardar la clase. Ejemplo. Digamo que quieres guardar una clase, con la que extendemos de la clase Serializable y tiene una serie de variables y alguna de ellas solo van a ser utilizadas en la ejecucion, pero no queremos que sean serializadas (guardadas), con lo que las declaramos de tipo "transient". Tambien se puede hacer "transient" a los metodos.
"Volatile" Se utiliza para la ejecucion de Threads. Se hace para que la variable sea modificada de forma asiconcrona, por cualquiera de los threads en ejecucion.
4ª Exactamente no se donde conseguir uno completo, pero si tienes los fuentes puedes crearte un javadoc en donde aparece toda la jerarquia de objetos en java con descripcion de los mismos en ingles.

Si tienes alguna duda de mi respuesta puedes mandarme un correo. Un saludo y animo.