Un programa sencillo sobre JAVA
Tu pregunta: 1.V v1=new V(); es crear un objeto de clase V. La clase V es la clase definida en la clase V{} anterior. ¿Qué es una clase y qué es un objeto? . . . . . , se introducirá en cualquier libro.
2. ¿Por qué la segunda es falsa?
Respuesta: Esto involucra el operador == y el método igual () en Java. Igual se define en la clase Objeto en Java. El objeto es la superclase de todas las clases, por lo que el objeto de todas las clases existe. un método igual en ambos. igual es en realidad ==, el operador == compara si las direcciones de memoria son las mismas,
Código fuente: público booleano igual (Objeto obj) {
retorno (este == obj );
}, pero en las clases de uso común, se define igual. Sin embargo, cuando String, Integer y Object en clases de uso común como String e Integer.Float anulan el método igual, sus resultados personalizados son: los mismos valores son iguales, es decir, compara s1.equals(s2) El la salida es verdadera porque sus direcciones de memoria son diferentes pero sus valores son los mismos, ambos son "123".
Sin embargo, si no sobrecarga la función de igualdad al personalizar V, automáticamente heredará la igualdad del Objeto, por lo que la salida de v1.equals(v2) es falsa porque son dos objetos diferentes. Corresponde a diferentes referencias en la memoria.
Por ejemplo, ahora cambie su V a:
class V{
int attr1
public V(int attr1) {
this.attr1=attr1;
}
público booleano es igual (V v2){
return (this.attr1= = v2.attr1);
}
}
Luego define el objeto,
V v1=new V(123); /p>
V v2=new V(123);
Puedes ver el efecto, System.out.println(v1.equals(v2));
(Por supuesto, si eliminas la función igual en V, será falsa).
Aún no sabes la palabra, busca en Baidu. . . .