Os exemplos neste artigo descrevem o conceito de transformação de objeto Java e são compartilhados com você para sua referência. Os métodos específicos são os seguintes:
As notas sobre a fundição de objetos (casting) são as seguintes:
1. Uma variável de tipo de referência de uma classe base pode “apontar” para um objeto de sua subclasse.
2. Uma referência a uma classe base não pode acessar membros recém-adicionados (propriedades e métodos) de seu objeto de subclasse.
3. Você pode usar a variável de referência instanceof class name para determinar se o objeto "apontado" pela variável de referência pertence a esta classe ou a uma subclasse desta classe.
4. Objetos de subclasses podem ser usados como objetos de classe base, o que é chamado de upcasting, e vice-versa é chamado de downcasting.
O código de implementação específico é o seguinte:
public class TestCasting{ public static void main(String args[]){ Animal animal = new Animal("nomeCachorro"); ,"yellowColor"); System.out.println(instância de animal de Animal); System.out.println(instância de gato de Animal); //System.out.println(animal instanceof cat); //erro animal = new Dog("dogAnimal","dogColor"); .forColor); //erro System.out.println(animal instanceof Animal); System.out.println(animal instanceof Dog d1 = (Dog)animal); System.out.println(d1.forColor); }}class Animal{ public String name; public Animal(String name){ this.name = name; }}class Cat extends Animal{ public String eyeColor; String eyeColor){ super(nome); this.eyeColor = eyeColor; }class Cachorro estende Animal{ public String forColor; this.forColor = forColor }}
Os resultados da execução são mostrados na figura abaixo:
Espero que este artigo seja útil para o design de programação Java de todos.