où utiliser la classe object en java?


J'ai besoin de connaître la classe object en java.voici quelques code je veux savoir pourquoi nous les utilisons et où l'utiliser

Object obj = arg0.getItemAtPosition(arg2);
String str = obj.toString();
Author: Sumit Singh, 2012-09-05

5 answers

Tous les "Object"héritent de Object, donc fondamentalement toute classe en Java est de type Object, aussi.

Http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html

Pour cette raison, toutes les classes ont implicitement quelques méthodes:


Method Summary

protected  Object   clone() 

 boolean    equals(Object obj) 

protected  void finalize() 

 Class  getClass() 

 int    hashCode() 

 void   notify() 

 void   notifyAll() 

 String toString() 

 void   wait() 

 void   wait(long timeout) 

 void   wait(long timeout, int nanos) 

Si nécessaire, vous pouvez remplacer ces méthodes pour fournir vos propres fonctionnalités.

Par exemple, vous pouvez remplacer la méthode toString pour renvoyer un String qui, selon vous, résume votre instance particulière du classe. Ensuite, si vous passez votre Object à quelque chose comme System.out.println, il affichera ce que la méthode toString renvoie.

Pour plus de lecture:

Http://journals.ecs.soton.ac.uk/java/tutorial/java/javaOO/objectclass.html

Et voici un bel héritage tutoriels:

Http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html

Http://docs.oracle.com/javase/tutorial/java/concepts/inheritance.html

Http://www.cs.utexas.edu/~lavande/cours/tutoriel/java-06.pdf

 2
Author: eboix, 2013-11-25 23:44:58

Object est une super classe de toutes les classes en Java. S'il est possible de renvoyer plus d'un type, l'objet sera renvoyé (ou) Si l'API conçue pour être plus générique, Object sera renvoyé.

Comment utiliser l'objet retourné?

En fonction du contexte, vous devrez peut-être lancer (ou) faire toString() comme vous l'avez fait.

 1
Author: kosa, 2012-09-05 12:38:16

La classe d'Objet est utilisé lorsque la classe spécifique d'une variable n'est pas connue. La classe Object est un parent de nombreuses classes (Integer, Sting, ...etc). Dans le cas mentionné ci-dessus, la classe getItemAtPosition() renvoie une instance Object car un spinner par exemple peut avoir de nombreux types de classe différents, il renvoie donc un général (Object), puis vous le convertissez en String (ou autres classes selon le cas) lorsque le type cible est connu dans le contexte.

 1
Author: Mohamed_AbdAllah, 2012-09-05 12:44:13

Pourquoi nous l'utilisons parce que..

  • Java a choisi de faire d'une seule classe la classe parente ultime pour tout pour qu'il y ait un moyen facile de contourner tout arbitraire objet, sans avoir besoin de connaître son type

    C'est-à-dire que vous pouvez utiliser le type d'objet déclaré pour faire référence à chaque élément dans le système de type, même les primitives utilisant leurs classes wrapper.

  • Java doit fonctionner sur toutes les plates-formes existantes (que ce soit mobile, Windows, Linux, etc.) et l'écriture d'une grande quantité de code à exécuter sur chaque plate-forme devait être une mission. Par conséquent, Java créé natif. De cette façon, tous les objets sont enregistrés en tant qu'objet natif que la JVM peut comprendre et exécuter. N'oubliez pas que la JVM est écrite en C++ (quelle que soit la plate-forme sur laquelle elle est exécutée).

  • Pour le Garbage Collection, la méthode finalize est appelée par la JVM lorsque l'Objet n'est pas nécessaire.
 1
Author: Sumit Singh, 2012-09-05 12:48:26

Généralement, Object ne doit être utilisé que lorsqu'il s'agit d'une collection d'éléments de type disparate ou inconnu. Ceci est ensuite généralement suivi par instanceof et des instructions cast. De nombreuses API renvoient Object alors qu'elles peuvent fournir des types disparates et certaines d'entre elles sont un holdover de Java 4 et plus avant les génériques. Dans la mesure du possible, cela devrait être remplacé par des génériques.

MODIFIER

Quelques règles de base, vous ne devriez JAMAIS faire ce qui suit: Object ob = new Object(); Il ne devrait jamais y avoir un raison d'instancier Object dans n'importe quel code. Le SEUL moment où Ojbect doit être utilisé est lorsque le type n'est pas connu.

Un exemple de la façon dont cela a changé avec les génériques est Collections.max. En java 4 cette retourné Object (Java 4 Collections), Dans la version 6 de java c'est une version qui renvoie un générique T (Java 6 Collections).

Java 4: public static Object max(Collection coll)

Retourne Object, car à ce moment - Collection n'était pas générique

Java 6: public static <T extends Object & Comparable<? super T>> T max(Collection<? extends T> coll)

Renvoie T parce que post Java 5 Collection est générique.

Le point étant que dans le passé, beaucoup d'API renvoyaient Object simplement parce que Java n'avait pas de génériques. Maintenant, dans la plupart des cas, les génériques doivent être utilisés, mais toutes les API n'ont pas été mises à jour. À l'avenir, vous devriez toujours essayer d'utiliser des génériques au lieu d'un objet dans la mesure du possible.

 1
Author: John B, 2012-09-05 14:25:33