Java - Porque un Object no puede ser casteado a un String

 
Vista:
sin imagen de perfil
Val: 18
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Porque un Object no puede ser casteado a un String

Publicado por Renzo (10 intervenciones) el 11/11/2017 23:25:45
Estoy haciendo un programita y tengo una duda sobre el sgte codigo

String zip = (String) new Object();

Estoy da como salida una ClassCastException, pero tengo que entendido que Object es padre de cualquier objecto, por lo tanto estoy casteando una superclase a una subclase hija valga la redundancia, para asignarle una referencia hija, sin embargo el compilador me marca la excepcion de casteo y no entiendo porque razon, segun la teoria deberia poderse hacer.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 124
Ha disminuido su posición en 4 puestos en Java (en relación al último mes)
Gráfica de Java

Porque un Object no puede ser casteado a un String

Publicado por Yamil Bracho (2303 intervenciones) el 11/11/2017 23:33:31
Puedes convertir cualquier clase hija a su padre, pero no alreves. Por que ? Porque la clase padre no sabe que otras porpiedades y metodos tiene la clase hija.

Object tiene un metodo que se llama toString() para retornar el objeto como un string, Casi siempre este metodo es sobreescrito por las clases hijas por su salida es "clase@XXXXXX" es decir, un objeto de la clase "clase" en la direccion "XXXXXX"

En pocas palabras hace esto

String zip = (new Object()).toString();

Aunque puedes inicializar un string de una vez como

String zip = "Aqui coloccas el valor para zip";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar