Comprensión de Java del método de igualdad en la clase Object

Sin más preámbulos, el primer ejemplo

1  paquete Ch_11;
2  
3  prueba de clase pública  {
 4 public static void main (String [] args) {
 5          Object circle1 = new Circle ();
6          Object circle2 = new Circle ();
7         System.out.println (circle1.equals (circle2));
8     }
 9 }
 10 11 círculo de clase {
 12 radio doble ;
13 14 public boolean igual (círculo de objeto) {
 15 return           
           
                this .radius == ((Circle) circle) .radius;
16      }
 17 }

Respuesta: cierto

1  paquete Ch_11;
2  
3  prueba de clase pública  {
 4 public static void main (String [] args) {
 5          Object circle1 = new Circle ();
6          Object circle2 = new Circle ();
7         System.out.println (circle1.equals (circle2));
8     }
 9 }
 10 11 círculo de clase {
 12 radio doble ;
13 14 public boolean equals (Circle circle) {
 15 return           
       
                this .radius == circle.radius;
16      }
 17 }

Respuesta: falso

 

Mira aquí, niños, ¿tienen mucho hola? Por supuesto, no se asuste, mire lo siguiente:

(¡Primero debe comprender que la clase padre no puede llamar directamente a los métodos de la subclase! Por supuesto, la conversión de fuerza bruta forzada se menciona por separado)

Primero, mira este código, Object circle1 = new Circle (); Esto muestra que circle1 se declara como una variable de referencia de tipo Object, por lo que es la variable de clase padre de Circle, por lo que cuando se llama a la séptima línea, se llama igual a la clase Object. ! !

Entonces circle1 y circle2 son, por supuesto, dos variables de tipo de referencia diferentes, por lo que el valor de retorno es, por supuesto, falso.

Además, debe comprender que el igual en el primer código es solo una sobrecarga del método igual en la clase de objeto principal. ! ! ¡No reescribiendo, pero el segundo código está reescribiendo! ! ! En este punto, ¿eres repentinamente brillante?

 

 

Si aún no lo comprende, ¡bienvenido a bloggers privados, o deje un mensaje en el área de comentarios!

Supongo que te gusta

Origin www.cnblogs.com/mr-wei977955490/p/12683350.html
Recomendado
Clasificación