Maison >Java >javaDidacticiel >Introduction détaillée à la classe Object en Java

Introduction détaillée à la classe Object en Java

不言
不言avant
2019-03-13 11:56:033779parcourir

Cet article vous apporte une introduction détaillée à la classe Object en Java. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

La classe Object se trouve dans le package java.lang et est l'ancêtre de toutes les classes Java. Chaque classe Java en découle.

Si la classe parent n'est pas explicitement spécifiée lors de la définition d'une classe Java, elle héritera de la classe Object par défaut. Par exemple :

 public class Demo{
     // ...
 }

est en fait l'abréviation du code suivant :

public class Demo extends Object{
     // ...
}

En Java, seuls les types de base ne sont pas des objets. Par exemple, les valeurs numériques, caractères et booléennes ne sont pas des objets. , indépendamment de Les tableaux d'objets et les tableaux de types de base héritent de la classe Object.

La classe Object définit quelques méthodes utiles puisqu'il s'agit d'une classe racine, ces méthodes existent dans d'autres classes. Elles sont généralement surchargées ou remplacées pour implémenter leurs fonctions spécifiques respectives.

Méthode Equals()

La méthode Equals() de la classe Object est utilisée pour détecter si un objet est équivalent à For un autre objet, la syntaxe est :

public boolean equals(Object obj)

Par exemple :

obj1.equals(obj2);

En Java, la signification fondamentale de l'équivalence des données Il signifie que les valeurs des deux données sont égales. Lors de la comparaison via equals() et "==", les données de type référence comparent la référence, c'est-à-dire l'adresse mémoire, et le type de données de base compare la valeur.

Remarque :

La méthode equals() ne peut comparer que les types de référence, "==" peut comparer les types de référence et les types de base.

Lors de la comparaison à l'aide de la méthode equals(), pour les classes File, String, Date et wrapper, les types et le contenu sont comparés sans considérer si les références concernent la même instance.

Lors de la comparaison avec "==", les types de données des deux côtés du symbole doivent être cohérents (sauf pour les types de données automatiquement convertibles), sinon une erreur de compilation se produira et le deux par rapport à la méthode égale Tant que les données sont de type référence.

Méthode hashCode()

Le code de hachage (hashCode) est obtenu à partir d'un objet selon un certain algorithme Numérique les valeurs et les codes de hachage n'ont pas de règles. Si x et y sont des objets différents, x.hashCode() et y.hashCode() ne seront fondamentalement pas identiques.

La méthode hashCode() est principalement utilisée pour implémenter des opérations telles que la recherche rapide dans les collections, et peut également être utilisée pour la comparaison d'objets.

En Java, hashCode est défini comme suit :

Lors de l'exécution d'une même application, hashCode() est appelé sur le même objet , doit renvoyer le même résultat entier - à condition qu'aucune des informations comparées par equals() n'ait été modifiée. Quant aux résultats des appels obtenus par la même application dans différentes périodes d'exécution, ils n'ont pas besoin d'être cohérents.

Si deux objets sont considérés comme égaux par la méthode equals(), alors appeler hashCode() sur les deux objets doit donner le même résultat entier.

Si deux objets sont considérés comme inégaux par la méthode equals(), l'appel de hashCode() sur les deux objets ne produit pas nécessairement des résultats entiers différents. Cependant, les programmeurs doivent être conscients que produire des résultats entiers différents pour différents objets peut améliorer l'efficacité de hashTable (vous en apprendrez davantage plus tard, une classe du framework collections).

En termes simples : si deux objets sont identiques, alors leurs valeurs hashCode doivent être les mêmes ; si les valeurs hashCode des deux objets sont identiques, elles ne le sont pas ; forcément le même. Il est stipulé dans la spécification Java que la couverture générale de la méthode equals() doit également couvrir la méthode hashCode().

Méthode toString()

La méthode toString() est une autre méthode importante définie dans la classe Object et est la représentation sous forme de chaîne de l'objet. , la syntaxe est :

public String toString()

La valeur de retour est de type String, utilisée pour décrire les informations pertinentes de l'objet actuel. La méthode toString() implémentée dans la classe Object renvoie les informations de type et d'adresse mémoire de l'objet actuel, mais elle a été réécrite dans certaines sous-classes (telles que String, Date, etc.), et peut également être réécrite dans un format défini par l'utilisateur. types selon les besoins. toString() pour renvoyer des informations plus applicables.

En plus d'appeler explicitement la méthode toString() de l'objet, la méthode toString() sera automatiquement appelée lors de la connexion de String à d'autres types de données.

Les méthodes ci-dessus sont souvent utilisées en Java. Voici seulement une brève introduction pour faire connaître à tout le monde la classe Object et les autres classes. Pour une description détaillée, veuillez vous référer à la documentation de l'API Java.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer