P: ¿Cuál es la clase de objeto?
Respuesta: La clase de objeto se almacena en el paquete java.lang y es la mejor clase principal de todas las clases de Java (excepto la clase de objeto). Por supuesto, las matrices también heredan la clase de objeto. Sin embargo, la interfaz no hereda la clase de objeto, y la clase de objeto no sirve como la clase principal de la interfaz.
A continuación, analizamos el objeto a través de ejemplos
Clase pública ObjectStu {/*Clase de objeto: la clase principal de todas las clases en Java, clase de nivel superior*iguales: determine si dos objetos son "iguales"; * Hashcode: Devuelve el valor del código hash de un objeto, que es un entero* porque los contenedores posteriores, como hashset y hashmap, deduplicarán los elementos; Por lo tanto, iguales y hashcode deben reescribirse al mismo tiempo; * Los criterios que se deben cumplir después de reescribir: * Cuando el resultado de igual es verdadero, los valores hashcode de los dos objetos deben ser iguales; * Cuando el resultado de iguales es falso, los valores hashcode de los dos objetos deben ser desiguales; (Los hashcodes pueden ser iguales, pero si no es igual, puede mejorar la eficiencia) *ToString: Devuelve la representación de cadena del objeto *Función: es conveniente ver las propiedades del objeto en el programa y depurar el código *Aprendizaje de depuración: *1. Establezca puntos de interrupción donde pueda haber errores *2.run como depuración *3.f6, ejecute el código actual; f5, ingrese el método del código actual en esta oración; F8, salta rápidamente al siguiente punto de interrupción, si no hay el siguiente punto de interrupción, ejecute todo el código restante *iguales: *1. Consistencia: use el objeto A para llamar iguales y objeto B para comparar, el resultado de cada vez debe ser el mismo*2. Reflexividad: el objeto A llama es igual a comparar el objeto B y el objeto B Las llamadas iguales para comparar el objeto A debe ser el mismo*/public static void main (string [] args) {persona per = nueva persona ("xiao wang", 10,150); persona per1 = nueva persona ("xiao wang", 20,140); persona per2 = per; system.out.println (per == per1); system.out.println (per.equals (per1)); string str = "123"; str.equals ("123"); str.hashcode (); system.out.println (per.hashcode ()); system.out.println (per1.hashcode (); system.ou t.println (per2.hashcode ()); system.out.println (per2.hashcode ()); system.out.println (per); system.out.println (per1);}} clase Persona {name de cadena; int Age; int HIED; Public Person (String Name, int Age, int HIED) {super (); this.height = altura; this.name = name; this.age = age;}/*@anular public boolean iguales (object obj) {if (this == obj) {return true; } if (obj instancia de persona) {persona per = (persona) obj; if (this.name.equals (per.name) && this.age == per.age) {return true; }} return false; }*/// Reescribe hashcode/*@anular public int hashcode () {return name.hashCode ()+edad*31+altura*31; } */@Anular public int hashcode () {final int prime = 31; int resultado = 1; resultado = prime * resultado + Age; resultado = prime * resultado + altura; resultado = prime * resultado + ((name == null)? 0: name.hashCode ()); return result;}@over public boolean iguales (obj obj) {if (este == obj) (getClass ()! = obj.getClass ()) return false; persona otra = (persona) obj; if (edad! = other.age) return FALSE; if (altura! = Other.height) return False; if (name == null) {if (other.name! = null) return;} else if (! name.equals (other.name)) return False; return;@over -overide striE "Person [nombre ="+nombre+", edad ="+edad+"]";}}Resumir
Lo anterior es todo el contenido de este artículo sobre el análisis de las instancias de clase de objetos en Java, espero que sea útil para todos. Los amigos interesados pueden continuar referiéndose a este sitio:
Explicación detallada del código de clase de prueba interna Java
Análisis del código de prueba de herencia en Java
Ejemplo de uso de código de pila (pila) en Java
Si hay alguna deficiencia, deje un mensaje para señalarlo. ¡Gracias amigos por su apoyo para este sitio!