Annuaire d'articles
Les méthodes courantes de la classe Object peuvent être divisées dans les catégories suivantes :
1. Méthodes de création et de destruction d'objets :
- Object() : Constructeur, crée un nouvel objet.
- finalize() : La méthode appelée par le garbage collector, exécutée avant la destruction de l'objet.
2. Comment obtenir des informations sur l'objet :
- getClass() : récupère la classe d'exécution de l'objet.
- hashCode() : renvoie la valeur du code de hachage de l'objet.
- toString() : renvoie la représentation sous forme de chaîne de l'objet.
3. Méthode de comparaison d'objets :
- equals(Object obj) : comparez les objets pour vérifier l'égalité.
- compareTo(T obj) : l'ordre des objets de comparaison.
- clone() : crée et renvoie une copie de l'objet.
4. Méthodes liées au fil :
- wait() : oblige le thread actuel à attendre que d'autres threads appellent la méthode notify() ou notifyAll() de l'objet.
- notify() : Réveille l'un des threads en attente de l'objet.
- notifyAll() : réveille tous les threads en attente de l'objet.
5. Méthodes liées au verrouillage :
- synchronisé : utilisé pour modifier des blocs de code ou des méthodes pour implémenter des verrous de synchronisation.
6. Cas d'utilisation :
Voici des exemples d'utilisation pour chaque méthode :
1. Méthodes de création et de destruction d'objets :
Object obj = new Object();
obj.finalize();
2. Méthode pour obtenir des informations sur l'objet :
Class<?> clazz = obj.getClass();
int hashCode = obj.hashCode();
String str = obj.toString();
3. Méthode de comparaison d'objets :
boolean isEqual = obj1.equals(obj2);
int compareResult = obj1.compareTo(obj2);
Object objCopy = obj.clone();
4. Méthodes liées au fil :
synchronized (obj) {
try {
obj.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
synchronized (obj) {
obj.notify();
}
synchronized (obj) {
obj.notifyAll();
}
5. Méthodes liées au verrouillage :
public synchronized void synchronizedMethod() {
// synchronized 修饰的方法
}
public void synchronizedBlock() {
synchronized (this) {
// synchronized 修饰的代码块
}
}