Πίνακας περιεχομένων:

Πώς μπορούμε να κάνουμε την κλάση αμετάβλητη στην Java με πεδίο ημερομηνίας;
Πώς μπορούμε να κάνουμε την κλάση αμετάβλητη στην Java με πεδίο ημερομηνίας;
Anonim

Θα καταλάβουμε τι σημαίνουν στην πραγματικότητα αυτές οι οδηγίες δημιουργώντας μια αμετάβλητη κλάση με μεταβλητό αντικείμενο με πεδίο Ημερομηνία

  1. Μην παρέχετε μεθόδους "ρυθμιστές" - μεθόδους που τροποποιούν χωράφια ή αντικείμενα αναφέρεται από χωράφια .
  2. Φτιαχνω, κανω όλα χωράφια οριστικό και ιδιωτικό.
  3. Μην επιτρέπετε στις υποκλάσεις να παρακάμπτουν μεθόδους.

Από εδώ, πώς μπορούμε να κάνουμε μια κλάση αμετάβλητη στην Java;

Immutable Class σε Java

  1. Δηλώστε την τάξη ως οριστική, ώστε να μην είναι δυνατή η παράτασή της.
  2. Κάντε όλα τα πεδία ιδιωτικά, ώστε να μην επιτρέπεται η άμεση πρόσβαση.
  3. Μην παρέχετε μεθόδους ρυθμιστή για μεταβλητές.
  4. Κάντε όλα τα μεταβλητά πεδία οριστικά, ώστε η τιμή του να μπορεί να εκχωρηθεί μόνο μία φορά.
  5. Αρχικοποιήστε όλα τα πεδία μέσω ενός κατασκευαστή που εκτελεί αντιγραφή σε βάθος.

Στη συνέχεια, το ερώτημα είναι, ποια είναι η χρήση της αμετάβλητης κλάσης στην Java; Αμετάβλητη τάξη σημαίνει ότι μόλις δημιουργηθεί ένα αντικείμενο, δεν μπορούμε να αλλάξουμε το περιεχόμενό του. Σε Ιάβα , όλο το περιτύλιγμα τάξεις (όπως Integer, Boolean, Byte, Short) και String τάξη είναι αμετάβλητος . Μπορούμε να δημιουργήσουμε το δικό μας αμετάβλητη τάξη επισης.

Οι άνθρωποι ρωτούν επίσης, είναι η κλάση Date αμετάβλητη στην Java;

Ημερομηνία δεν είναι αμετάβλητος , πρέπει να κάνουμε ένα αμυντικό αντίγραφο του Ιάβα . χρησιμότητα. Ημερομηνία πεδίο ενώ επιστρέφει μια αναφορά σε αυτήν τη μεταβλητή παρουσίας. Ας δημιουργήσουμε ένα υποθετικό άτομο τάξη που έχει όνομα και dob ως τα μόνα δύο μέλη.

Πώς μπορούμε να κάνουμε ένα αντικείμενο αμετάβλητο;

Για να κάνετε το αντικείμενο αμετάβλητο, πρέπει να κάνετε τα εξής βήματα:

  1. Μην χρησιμοποιείτε μεθόδους που μπορούν να αλλάξουν πεδία της τάξης σας. Για παράδειγμα, μην χρησιμοποιείτε Setter.
  2. Αποφύγετε τη χρήση δημόσιων μη τελικών πεδίων. Εάν τα πεδία σας είναι δημόσια, τότε πρέπει να τα δηλώσετε ως οριστικά και να τα αρχικοποιήσετε στον κατασκευαστή ή απευθείας στη γραμμή δήλωσης.

Συνιστάται: