Instancia Vs Objeto

Cuando tenemos una clase base y una subclase en Java, e instanciamos la subclase, ¿obtenemos una o dos instancias? Si obtenemos dos objetos, ¿cuántas instancias obtenemos? ¿Una instancia contiene los dos objetos de base y subclase o dos instancias separadas?

preguntado el 22 de mayo de 12 a las 13:05

6 Respuestas

Si crea una instancia de una subclase, obtendrá solo un objeto/instancia. Esta única instancia contendrá todos los campos de la subclase (que incluye los campos definidos por sus clases principales).

Recuerda que subclases significa que estás definiendo una nueva clase que derivados de un padre existente, es decir, hereda esas definiciones. Entonces, si el padre declara un campo llamado id, la subclase también tendrá un campo llamado id, por lo que una instanciación de esa subclase contendrá un id campo. este campo es declaró en la clase padre, pero pertenece a la subclase.

Si crea una instancia de la subclase, no hay una instancia del padre. No existe ningún objeto cuya clase de tiempo de ejecución sea la clase principal.

(No estoy seguro de cuál es su distinción entre "objeto" e "instancia" en su pregunta. Los ha usado de una manera que implica que son diferentes, pero por lo general significan exactamente lo mismo. Un objeto es una instancia de una clase en particular).

contestado el 22 de mayo de 12 a las 13:05

¿Cuál es entonces la diferencia lógica entre instancia y objeto? - Kahn

@Hesper: nada. Tenderías a usar "instancia" cuando estás poniendo énfasis en el hecho de que es una instanciación de una clase en particular. Pero todos los objetos son instancias de algo clase, y todas las instancias son un objeto. Son términos diferentes, con diferentes matices, para lo mismo. - andrzej doyle

Obtiene una sola instancia que es de las dos clases: la base y la subclase.

Intenta entenderlo con este ejemplo: hay una clase Mamífero y la clase Humano. Perteneces a ambos; sin embargo, hay una sola instancia de ti mismo. Si hubiera dos personas en la habitación, ¡tendría dos instancias de ambas clases!

contestado el 22 de mayo de 12 a las 13:05

Instancia == objeto ... ambos son iguales, solo 2 nombres diferentes. Si crea un objeto (tal vez una subclase), obtiene un objeto.

contestado el 22 de mayo de 12 a las 13:05

Cuando tenemos una clase base y una subclase en Java, e instanciamos la subclase, ¿obtenemos una o dos instancias?

Obtenemos una instancia porque cada instancia de clase Java está contenida en un solo objeto.

Si obtenemos dos objetos, ¿cuántas instancias obtenemos?

El término "instancia" es sinónimo de objeto. Decir una instancia es solo una forma diferente de decir un objeto.

¿Una instancia contiene los dos objetos de base y subclase o dos instancias separadas?

No. El compilador de Java crea un código de bytes de clase que contiene la funcionalidad tanto de la base como de la extensión, por lo que instanciar esa clase da como resultado un solo objeto.

contestado el 22 de mayo de 12 a las 13:05

¿Cuál es entonces la diferencia lógica entre instancia y objeto?

En el contexto en el que estás usando estas palabras, no hay diferencia. Una instancia (de una clase) es un objeto, y viceversa.

Sin embargo, en un contexto más amplio, una instancia (de un tipo) no es necesariamente un objeto, depende del tipo. Por ejemplo que tu podría dilo 42 es una "instancia" del int tipo.

contestado el 22 de mayo de 12 a las 13:05

new classA();  //Here you create an instance of a class
classA ob      //create object named "ob" and datatype "classA"

Y ahora asignamos la instancia al objeto.

 classA ob = new classA();

como

int num = 10

respondido 14 mar '18, 00:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.