Red de conocimiento informático - Aprendizaje de programación - Ejemplo clásico de polimorfismo JAVA

Ejemplo clásico de polimorfismo JAVA

System.out.println ("1--" Hay dos métodos de clase A, show(D) y show(A). b es una referencia de clase B y no se puede convertir en una referencia de clase D, pero se puede convertir en una clase. Una referencia, por lo que se llama show(A), salida A y A.

System.out.println("2--") a1.show(c)); la misma razón, Salida A y A.

System.out.println("3--" a1.show(d));

Llamar a show(D) generará A y D.

System.out.println("4--")b es una referencia de clase B. No se puede convertir en una referencia de clase D, pero se puede convertir en una referencia de clase A, entonces show(A), y la clase B anula show(A), por lo que se llama al show(A) anulado, que genera B y A.

System.out.println("5--" a2.show( c));

A2 es una referencia de la clase A a un objeto de la clase B, que puede ser polimórfico de. a2.show( c));

Como arriba, las referencias de clase C no se pueden convertir en referencias de clase D, pero se pueden convertir en referencias de clase A, por lo que se llama a show(A), y a B y A son salida.

System.out.println("6--"

System.out.println("6-"). >

Llama a show(D), show(D) llama a show(D) de la clase principal (es decir, clase A), salida A y D

System.out.println("7-- " )b.show(b) llama al método show(B) y genera B y B

System.out.println("8--" b.show(c));

b es una referencia a la clase B, que apunta a un objeto de la clase B. No hay polimorfismo y se debe llamar al método de la clase B. b.show(c));

La clase C hereda de la clase B y también llama al método show(B) para generar B y B

System.out.println("9 - -"). b.show(d));

Llame a show(D), y show(D) a su vez llama a show(D) de la clase principal (es decir, clase A), generando A y D