Prefacio
A diferencia de C ++, el lenguaje Java es un lenguaje de estructura de herencia de raíz única, lo que significa que todas las clases en Java tienen un antepasado común. Este antepasado es la clase de objeto.
La clase de objeto se llama clase de Dios, también conocida como la clase antepasada. Al definir una clase Java, si no se especifica la clase principal, la clase de objeto se heredará de forma predeterminada. Con la conversión de tipo ascendente de Java, se puede trabajar mucho con la ayuda de la clase de objetos.
La estructura de la clase de objetos
Métodos de clase de objetos
En la clase de objetos, hay varios métodos comúnmente utilizados, como getClass (), toString () e igual (). Su implementación en Object.java es la siguiente: (El código fuente de Object.java está en Src.zip en el directorio de instalación de Java, y su estructura de directorio es Src/Java/Lang/Object.Java).
clase pública final de la clase nativa <?> getClass (); public boolean iguales (object obj) {return (this == obj);} public string toString () {return getClass (). getName () + "@" + Integer.tohexString (hashcode ());}Para GetClass (), puede obtener clases en tiempo de ejecución.
Equals () generalmente se usa para la comparación. En la clase Object, compara referencias y devuelve verdadero solo si las referencias son las mismas. Pero este no es el caso de comparación que queremos, por ejemplo, la comparación de las cadenas es comparar si cada personaje es el mismo. Entonces el método igual () se reescribirá en la clase de cadena. La implementación del método Equals () en la clase String es la siguiente: (el código fuente de String.java está en Src.zip en el directorio de instalación de Java, y su estructura de directorio es src/java/lang/string.java).
public boolean igual (objeto anobject) {if (this == anobject) {return true; } if (anobject instanceOf string) {string anotherstring = (string) anobject; int n = value.length; if (n == anotherstring.value.length) {char v1 [] = valor; char v2 [] = anotherstring.value; int i = 0; while (n--! = 0) {if (v1 [i]! = v2 [i]) return false/; i ++; } return verdadero; }} return false;}La comparación de cuerdas se ha realizado varias veces:
1. Primero, juzga que las referencias son las mismas, y si son iguales, devuelve verdadero;
2. Determine si el objeto entrante es una cadena. Si no es una cadena, devolverá directamente falso. No hay necesidad de compararlo, ¿cómo se pueden comparar el perro y los humanos?
3. Compare la longitud de la cadena. Si las longitudes de las dos cadenas son diferentes, no hay necesidad de compararlas. Las diferentes longitudes son obviamente diferentes;
4. Si la comparación anterior no es verdadera, entonces se hace una comparación de carácter por caracteres.
Para la comparación de dos objetos, generalmente necesitamos reescribir el método igual () como el método igual () en la clase de cadena.
El tercer método ToString () genera la clase de tiempo de ejecución actual y un Ccode hash en la clase de objeto de forma predeterminada, que no es particularmente útil para nosotros. Para las clases escritas por nosotros mismos, puede generar todos los atributos de la clase. Después de reescribir el método ToString (), puede usar directamente System.out.println () para pasar el nombre del objeto, y puede llamar al método ToString () del objeto de forma predeterminada.
Como principiante, debe escribir constantemente código y registrar mucho de lo que ha aprendido para profundizar su impresión. ¡También debe buscar fácilmente cuando lo olvide, y grabarlo aquí y hacer que sea conveniente que lo haga conveniente para usted en cualquier momento!
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.