Maison  >  Article  >  Java  >  Classe d'objet de base Java

Classe d'objet de base Java

高洛峰
高洛峰original
2017-01-17 17:02:281117parcourir

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 la forme abrégée du code suivant :

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

En Java, seuls les types primitifs sont pas des objets Par exemple, les valeurs numériques, caractères et booléennes ne sont pas des 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, les types et les contenus sont comparés sans considérer si les références sont à 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 qui peuvent être automatiquement convertis), sinon une erreur de compilation se produira Cependant, les deux données comparées avec. la méthode égale doit uniquement ê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 de 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— —Le principe est qu'aucune des informations comparées par equals() n'a été modifiée. 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 l'appel de 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(), alors appeler hashCode() sur les deux objets ne doit pas nécessairement 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(. )
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 l'intégralité du contenu de cet article. J'espère que vous l'aimerez

Pour plus d'articles liés à la classe Object basée sur Java, veuillez faire attention au PHP. Site 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