Obtengo un ClassCastException
cada vez que trato de convertir una imagen Buffered (principal) en una AdvancedBufferedImage (hija) que extendí yo mismo, no he reemplazado y he implementó todos los contratistas sin modificarloscasting parent to child - Objeto BufferedImage
Me sale esta excepción cada vez que trato de crear una imagen de AdvancedBufferedImage utilizando un método ImageIO.read().
File file = new file(path);
AdvancedBufferedImage image = (AdvancedBufferedImage) ImageIO.read(file);
Parece que no debería haber ningún problema, ¿cuál podría ser el problema?
¿Así que sugiere cambiar la relación de AdvancedBufferedImage a BufferedImage, ser HAS A not IS IS A? –
Exactamente. Este enfoque le permite delegar los métodos que no desea implementar usted mismo, y aun así agregar funcionalidades adicionales. Simplemente ajustará la clase existente. –
solo un aviso de que hay una herramienta útil para hacer exactamente eso en eclipse, crear una clase que tenga la instancia de la clase que desea delegar, haga clic derecho en el miembro, 'delegar métodos '. muy útil para grandes clases –