Objeto de transformação on-line: a subclasse cria um objeto e atribui esse objeto a referência ao objeto da classe pai.
Formato de sintaxe: pai f = novo filho ();
Notas:
Exemplo de código:
classe pública shangz {// classe premium int a = 1; int b = 2; void cal () {// Premium's Own Method System.out.println (a*b);} public static void main (string [] args) {shangz s = shanghai demonstra (); s.cal (); // No objeto de transformação, chama o método da subclasse s.err (); // O objeto de transformação perde os atributos da classe Subclasse}} Shangzdemo estende Shanghai {// Subclasse herda a classe pai void cal () {// Subclass reescrita o sistema de métodos da classe parental.Próximo objeto de transformação: o objeto referenciado pela classe pai é convertido para o tipo de subclasse (conversão do tipo fundido).
Formato de sintaxe:
Pai f = novo filho ();
Filho s = (pai) f;
Sintaxe de erro: (nenhum erro relatado para compilação, nenhum erro relatado para operação)
Pai f = novo pai ();
Filho s = filho (f);
Notas:
Exemplo de código:
classe pública shanghai {// classe premium int a = 1; int b = 2; void cal () {// Premium's Own Method System.out.println (a*b);} public static void main (string [] args) {shangz s = new shanghaidemo (); // O método da classe pai D.Div () foi chamado; // O objeto chama o método da subclasse Shanghai Serr = new Shanghai (); Shangzdemo Derr = (Shangzdemo) serr; Derr.cal (); // a compilação não relata um erro e a exceção de conversão ocorre ao executar a classe de shanghai, estende Shanghai {// Subclasse herda a classe parental void cal () {// subclass, o subcls da classe pai System.out.println (a+b);} void div () {/)Finalmente: a transformação do objeto é usada com mais frequência em genéricos.