java:object_class

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
java:object_class [2016/02/15 16:35]
gthanos created
java:object_class [2016/03/31 08:43] (current)
doufexi
Line 1: Line 1:
 ====== Η κλάση Object ====== ====== Η κλάση Object ======
  
-Όλες οι κλάσεις στην Java είναι απόγονοι της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Object.html|Object]]. Λόγω της κλάση //Object// όλα τα αντικείμενα στην Java κληρονομούν συγκεκριμένες μεθόδους που ορίζονται στην κλάση αυτή. Τις μεθόδους αυτές μπορείτε αν θέλετε να τις επαναορίσετε στις κλάσεις που δημιουργείτε ή να τις αφήσετε ως έχουν. Οι κυριότερες μέθοδοι της κλάσης //Object// είναι οι εξής:+Όλες οι κλάσεις στην Java είναι απόγονοι της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Object.html|Object]]. ​Για παράδειγμα,​ η κλάση [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Integer.html|Integer]] κληρονομεί την κλάση [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Number.html|Νumber]] που κληρονομεί την κλάση //Object//.  
 + 
 +<​code>​ 
 +     ​java.lang.Object 
 +           | 
 +           ​----| 
 +               v 
 +        java.lang.Number 
 +               | 
 +               ​----| 
 +                   v 
 +            java.lang.Integer  
 +</​code>​ 
 + 
 +Λόγω ​της ύπαρξης ​της κλάσης //Object// όλα τα αντικείμενα στην Java κληρονομούν συγκεκριμένες μεθόδους που ορίζονται στην κλάση αυτή. Τις μεθόδους αυτές μπορείτε αν θέλετε να τις επαναορίσετε στις κλάσεις που δημιουργείτε ή να τις αφήσετε ως έχουν. Οι κυριότερες μέθοδοι της κλάσης //Object// είναι οι εξής:
   * **public boolean equals(Object obj):** Η μέθοδος ελέγχει αν δύο αντικείμενα είναι ίδια. Εάν δεν την επαναορίσετε,​ η συγκεκριμένη μέθοδος ελέγχει εάν το αντικείμενο που την καλεί ταυτίζεται με το όρισμα που λαμβάνει. Μόνο στην περίπτωση που αυτά είναι ίδια επιστρέφει **true**, διαφορετικά επιστρέφει **false**.   * **public boolean equals(Object obj):** Η μέθοδος ελέγχει αν δύο αντικείμενα είναι ίδια. Εάν δεν την επαναορίσετε,​ η συγκεκριμένη μέθοδος ελέγχει εάν το αντικείμενο που την καλεί ταυτίζεται με το όρισμα που λαμβάνει. Μόνο στην περίπτωση που αυτά είναι ίδια επιστρέφει **true**, διαφορετικά επιστρέφει **false**.
   * **public int hashCode():​** Επιστρέφει έναν αριθμό (hash) για το συγκεκριμένο αντικείμενο. Ο αριθμός αυτός θα πρέπει να είναι μοναδικός για κάθε αντικείμενο. Κάθε κλήση της συγκεκριμένης μεθόδου σε ένα αντικείμενο πρέπει να επιστρέφει πάντα το ίδιο αποτέλεσμα. Δεν χρειάζεται να επαναορίσετε τη συγκεκριμένη συνάρτηση.   * **public int hashCode():​** Επιστρέφει έναν αριθμό (hash) για το συγκεκριμένο αντικείμενο. Ο αριθμός αυτός θα πρέπει να είναι μοναδικός για κάθε αντικείμενο. Κάθε κλήση της συγκεκριμένης μεθόδου σε ένα αντικείμενο πρέπει να επιστρέφει πάντα το ίδιο αποτέλεσμα. Δεν χρειάζεται να επαναορίσετε τη συγκεκριμένη συνάρτηση.
-  * **public String toString():​** Επιστρέφει μία αναπαράσταση σε μορφή [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​String.html|String]] για το αντικείμενο. Η default υλοποίηση της μεθόδου ισοδυναμεί με το παρακάτω:+  * **public String toString():​** Επιστρέφει μία αναπαράσταση σε μορφή [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​String.html|String]] για το αντικείμενο. Η //default// υλοποίηση της μεθόδου ισοδυναμεί με την παρακάτω έκφραση. Συνιστάται ​ο επαναορισμός της μεθόδου της συγκεκριμένης κλάσης σε όλες τις κλάσεις που δημιουργείτε. Ο επαναορισμός της συγκεκριμένης μεθόδου μπορεί να χρησιμοποιηθεί για αποσφαλμάτωση των προγραμμάτων σας (debugging).
 <code java> <code java>
   getClass().getName() + '​@'​ + Integer.toHexString(hashCode())   getClass().getName() + '​@'​ + Integer.toHexString(hashCode())
 </​code>​ </​code>​
-  * **public final Class<?>​ getClass():​** Επιστρέφει ένα αντικείμενο της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Class.html|Class]]. Η κλάση //Class// συγκεντρώνει πληροφορίες αναφορικά με τα χαρακτηριστικά της ​κάθε ​κλάσης.+  * **public final Class<?>​ getClass():​** Επιστρέφει ένα αντικείμενο της κλάσης [[http://​docs.oracle.com/​javase/​7/​docs/​api/​java/​lang/​Class.html|Class]]. Η κλάση //Class// συγκεντρώνει πληροφορίες αναφορικά με τα χαρακτηριστικά της κλάσης ​του αντικειμένου. 
 +  * Οι παρακάτω μέθοδοι συνδέονται με τη λειτουργία των νημάτων (//​threads//​) 
 +    * **public final void notify()** 
 +    * **public final void notifyAll()** 
 +    * **public final void wait()** 
 +    * **public final void wait(long timeout)** 
 +    * **public final void wait(long timeout, int nanos)**
  
 +|Προηγούμενο:​ [[ :​java:​super_operator | Ο τελεστής super ]] | [[ :toc | Περιεχόμενα ]]  | Επόμενο:​ [[ :​java:​polymorphism | Στατικός και Δυναμικός Πολυμορφισμός ]]|
java/object_class.1455554109.txt.gz · Last modified: 2016/02/26 11:15 (external edit)