Maison  >  Article  >  Java  >  Introduction à la classe Object en programmation Java

Introduction à la classe Object en programmation Java

高洛峰
高洛峰original
2017-01-17 16:46:571242parcourir

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, comme les valeurs numériques, les caractères et les valeurs booléennes. . Les objets, tous les types de tableaux, qu'il s'agisse de tableaux d'objets ou de 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 à un autre objet. La syntaxe est :

public boolean equals(Object obj)

Par exemple. :

obj1.equals(obj2);

En Java, la signification fondamentale de l'égalité des données est que les valeurs de 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, le type et le contenu sont comparés sans considérer si les instances référencées sont les mêmes.
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 convertis automatiquement), sinon une erreur de compilation se produira. Cependant, les deux données sont comparées uniquement avec la méthode égale. doivent être des types de référence.
Méthode hashCode()

Le code de hachage (hashCode) est une valeur obtenue à partir d'un objet selon un certain algorithme. 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 une recherche rapide et d'autres opérations dans les collections, et peut également être utilisée pour la comparaison d'objets.

En Java, les règles pour hashCode sont les suivantes :
Lors de l'exécution de la même application, l'appel de hashCode() sur le même objet doit renvoyer le même résultat entier - à condition que soit égal à() Aucun des deux les informations comparées ont été modifiées. Quant aux résultats d’appels obtenus par la même application dans différentes périodes d’exécution, il n’est pas nécessaire 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 n'a pas besoin de produire 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 deux objets ont les mêmes valeurs hashCode, ils ne sont pas nécessairement identiques. Selon la spécification Java, le remplacement de la méthode equals() devrait également remplacer la méthode hashCode().
Méthode toString()

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

public String toString()

Return. value Il s'agit d'un type String, utilisé pour décrire des informations sur 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.

Pour plus d'articles liés à la classe Object dans la programmation Java, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn