Πίνακας περιεχομένων:
- Χρησιμοποιώντας toString σε Java
- δεν είναι πολύ χρήσιμη στις περισσότερες περιπτώσεις. Δεν γνωρίζετε πραγματικά πολλά για ένα αντικείμενο
Βίντεο: Android 101 by Fred Widjaja 2024
Η μέθοδος
toString
επιστρέφει μια παράσταση
String
ενός αντικειμένου στη Java. Από προεπιλογή, η μέθοδος
toString
επιστρέφει το όνομα της κλάσης του αντικειμένου μαζί με τον κωδικό κατακερματισμού. Εδώ μπορείτε να μάθετε πώς μπορείτε να χρησιμοποιήσετε τη μέθοδο
toString
και πώς να την αντικαταστήσετε στις δικές σας κλάσεις για να δημιουργήσετε πιο χρήσιμες συμβολοσειρές.
Χρησιμοποιώντας toString σε Java
Εδώ είναι ένα απλό πρόγραμμα που θέτει τη μέθοδο
toString
να λειτουργήσει:
δημόσια τάξη TestToString
{ δημόσιο static void main (String [] args)
Αντώνιος");
Σύστημα. έξω. println (συνάρτηση toString ());
}
}
Υπάλληλος κλάσης
{
ιδιωτικό String lastName;
ιδιωτικό String firstName;
δημόσιος υπάλληλος (String lastName, String firstName)
αυτό. lastName = lastName;
αυτό. firstName = firstName;
}
}
Αυτός ο κώδικας δημιουργεί ένα νέο αντικείμενο
Υπάλληλος
. τότε το αποτέλεσμα της μεθόδου
toString
εκτυπώνεται στην κονσόλα. Όταν εκτελείτε αυτό το πρόγραμμα, στην κονσόλα εκτυπώνεται η ακόλουθη γραμμή:
Υπάλληλος @ 82ba41
Σημείωση:
82ba41
- θα είναι διαφορετικά στο σύστημά σας. Αποδεικνύεται ότι η ρητή κλήση
toString
δεν είναι πραγματικά απαραίτητη σε αυτό το παράδειγμα. Θα μπορούσατε εύκολα να γράψετε τη δεύτερη γραμμή της μεθόδου
main
όπως αυτή:
System. έξω. println (emp);
Αυτό συμβαίνει επειδή η μέθοδος
println
αποκαλεί αυτόματα τη μέθοδο
toString
από οποιοδήποτε αντικείμενο το περάσετε.
Υπέρβαση σεString σε Java
Η προεπιλεγμένη εφαρμογή του
toString
δεν είναι πολύ χρήσιμη στις περισσότερες περιπτώσεις. Δεν γνωρίζετε πραγματικά πολλά για ένα αντικείμενο
Εργοδοτούμενο
βλέπετε π.χ. τον κώδικα κατακερματισμού του. Δεν θα ήταν καλύτερα αν η μέθοδος
toString
επέστρεψε κάποια πραγματικά δεδομένα από το αντικείμενο, όπως το όνομα του υπαλλήλου;
Για να γίνει αυτό, πρέπει να αντικαταστήσετε τη μέθοδο
toString
στις κλάσεις σας. Στην πραγματικότητα, μία από τις βασικές οδηγίες του αντικειμενοστρεφούς προγραμματισμού Java είναι να
πάντα
να παρακάμπτει
toString. Εδώ είναι ένα απλό πρόγραμμα με μια κλάση Υπάλληλος
που υπερισχύει
toString
:
δημόσια τάξη TestToString
{
Υπάλληλος emp = νέος υπάλληλος ("Martinez",
"Anthony");
Σύστημα. έξω. println (συνάρτηση toString ());
}
}
Υπάλληλος κλάσης
{
ιδιωτικό String lastName;
ιδιωτικό String firstName;
δημόσιος υπάλληλος (String lastName, String firstName)
{
αυτό.lastName = lastName;
αυτό. firstName = firstName;
}
δημόσιο String toString ()
{
επιστροφή "Υπάλληλος ["
+ αυτό. firstName + ""
+ αυτό. lastName + "]".
}
}
Όταν εκτελείτε αυτό το πρόγραμμα εμφανίζεται στην κονσόλα η ακόλουθη γραμμή:
Υπάλληλος [Anthony Martinez]
Σημειώστε ότι η έξοδος αποτελείται από το όνομα κλάσης ακολουθούμενο από κάποια δεδομένα από το αντικείμενο σε παρένθεση. Αυτή η σύμβαση είναι κοινή στον προγραμματισμό της Java.
Το μόνο πρόβλημα με το προηγούμενο παράδειγμα είναι ότι το όνομα της κλάσης είναι σκληρό κωδικοποιημένο στη μέθοδο
toString
. Μπορείτε να χρησιμοποιήσετε τη μέθοδο
getClass
για να ανακτήσετε το πραγματικό όνομα της κλάσης κατά το χρόνο εκτέλεσης:
public String toString ()
{ επιστρέψτε αυτό. getClass (). getName () + "["
+ αυτό. firstName + ""
+ αυτό. lastName + "]".
}
Εδώ η μέθοδος
getClass
επιστρέφει ένα αντικείμενο
Κλάση
που αντιπροσωπεύει την κλάση του τρέχοντος αντικειμένου. Στη συνέχεια χρησιμοποιείται η μέθοδος
class
getName
του αντικειμένου
για να πάρει το πραγματικό όνομα της κλάσης.