Objetos (clases) en java
Publicado por Kyshuo (2 intervenciones) el 28/12/2009 13:21:08
Bueno, primero que nada he de felicitar a las personas que mantienen esta web ya que aquí hay muchísima información muy interesante. FELICITACIONES!!!
Les comento mi problema. Estoy aprendiendo a programar con Java. Estoy desarrollando un pequeño programa para practicar, el cual simula batallas pokémon simples, tales como en los pequeños juegos de Game Boy de esta serie. Más allá del funcionamiento en sí del programa, me encontré con un problema: He creado varias clases diferentes, una de las cuales es llamada Pokemon y es la que contiene todos los datos de cada una de estas criaturas. El problema es que, al crear dos elementos distintos de esta classe, por ejemplo
Pokemon pikachu= new Pokemon(), raichu= new Pokemon();
si hago la asignación siguiente: pikachu= raichu, sucede que ambos quedan como referenciando un mismo lugar de la memoria, o sea, luego de eso, al modificar uno, se modifica el otro. ¿Esto sucede con todos los objetos en java? ¿Hay alguna forma de que no suceda así? Si necesitan más datos o el código fuente solo díganme. Desde ya, muchas gracias.
Les comento mi problema. Estoy aprendiendo a programar con Java. Estoy desarrollando un pequeño programa para practicar, el cual simula batallas pokémon simples, tales como en los pequeños juegos de Game Boy de esta serie. Más allá del funcionamiento en sí del programa, me encontré con un problema: He creado varias clases diferentes, una de las cuales es llamada Pokemon y es la que contiene todos los datos de cada una de estas criaturas. El problema es que, al crear dos elementos distintos de esta classe, por ejemplo
Pokemon pikachu= new Pokemon(), raichu= new Pokemon();
si hago la asignación siguiente: pikachu= raichu, sucede que ambos quedan como referenciando un mismo lugar de la memoria, o sea, luego de eso, al modificar uno, se modifica el otro. ¿Esto sucede con todos los objetos en java? ¿Hay alguna forma de que no suceda así? Si necesitan más datos o el código fuente solo díganme. Desde ya, muchas gracias.
Valora esta pregunta


0