Πρόσβαση τροποποιητών σε Java: Το μόνο που πρέπει να γνωρίζετε



Αυτό το άρθρο σάς βοηθά να κατανοήσετε τι είναι οι τροποποιητές πρόσβασης στην Java και να μάθετε για τους διαφορετικούς τύπους όπως Δημόσιο, ιδιωτικό, προστατευμένο και προεπιλεγμένο.

Οι τροποποιητές πρόσβασης στην Java χρησιμοποιούνται για τον καθορισμό των επιπέδων πρόσβασης για τάξεις, μεταβλητές μεθόδους και κατασκευαστή.Βοηθά στην ενημέρωση της τιμής ενός . Είναι επίσης γνωστοί ως επεξεργασία ορατότητας. Μέσω αυτού του ιστολογίου, θα σας βοηθήσω να καταλάβετε ποια είναι η σημασία των τροποποιητών πρόσβασης .

Θα καλύψω τα θέματα με την ακόλουθη σειρά:





Ας ξεκινήσουμε με το πρώτο θέμα.

Τι είναι ο τροποποιητής πρόσβασης;



Μπορεί να έχετε συναντήσει δημόσιο , ιδιωτικός και προστατευμένο λέξεις-κλειδιά ενώ ασκείτε οποιαδήποτε , αυτά ονομάζονται Access Modifiers.Όπως υποδηλώνει το όνομα, το Access Modifiers στη Java βοηθά στον περιορισμό του πεδίου μιας κλάσης, κατασκευαστή, μεταβλητής, μεθόδου ή μέλους δεδομένων.

Οι τροποποιητές πρόσβασης μπορούν να καθοριστούν ξεχωριστά για μια κατηγορία, κατασκευαστές,πεδία και μέθοδοι. Αναφέρονται επίσης ως Προσδιοριστές πρόσβασης Java , αλλά το σωστό όνομα είναι Τροποποιητές πρόσβασης Java .

Ας ρίξουμε λοιπόν σε βάθος τους διαφορετικούς τύπους τροποποιητών πρόσβασης στην Java.



Τύποι τροποποιητή πρόσβασης

Υπάρχουν τέσσερις λέξεις-κλειδιά τροποποιητών πρόσβασης και είναι:

  • Προεπιλεγμένος τροποποιητής πρόσβασης
  • Τροποποιητής ιδιωτικής πρόσβασης
  • Τροποποιητής δημόσιας πρόσβασης
  • Προστατευμένος τροποποιητής πρόσβασης

Ας μάθουμε λεπτομερώς για κάθε ένα από αυτά.

Προεπιλεγμένος τροποποιητής πρόσβασης

Όταν δεν έχει οριστεί τροποποιητής πρόσβασης για μια συγκεκριμένη κλάση, μέθοδο ή ένα μέλος δεδομένων, λέγεται ότι έχει το Προκαθορισμένο πρόσβαση επεξεργασίας.

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

Παράδειγμα:

package p1 // Class Course έχει Προεπιλεγμένο τροποποιητή πρόσβασης Class course {void display () {System.out.println ('Hello World!')}}

Στη συνέχεια, ας προχωρήσουμε στον επόμενο τύπο, τροποποιητή ιδιωτικής πρόσβασης.

Τροποποιητής ιδιωτικής πρόσβασης

  • Οι μέθοδοι ή τα μέλη δεδομένων που δηλώνονται ως ιδιωτικά είναι προσβάσιμα μόνο εντός της κλάσης στην οποία δηλώνονται.
  • Οι κλάσεις ανώτερου επιπέδου ή η διεπαφή δεν μπορούν να δηλωθούν ως ιδιωτικές, δεδομένου ότι
    • Ιδιωτική σημαίνει « απλώς ορατό μέσα στην τάξη '
    • Προστατευμένο σημαίνει ' ι είναι αξιοσημείωτο μέσα στην τάξη που περικλείει και σε κάθε υποκατηγορία '
  • Εάν μια τάξη έχειπρος τοιδιωτικός κατασκευαστής τότε δεν μπορείτε να δημιουργήσετε το αντικείμενο αυτής της κλάσης έξω από την τάξη.
  • Τα μαθήματα δεν μπορούν να επισημανθούν με το τροποποιητής ιδιωτικής πρόσβασης .
  • Η υπογραφή μιας τάξης με τον τροποποιητή ιδιωτικής πρόσβασης σημαίνει ότι δεν θα μπορούσε να φτάσει διαφορετική τάξη. Αυτό συνεπάγεται γενικά ότι δεν μπορείτε να χρησιμοποιήσετε την τάξη με οποιοδήποτε τέντωμα της φαντασίας. Με αυτόν τον τρόπο, ο τροποποιητής ιδιωτικής πρόσβασης δεν λαμβάνει υπόψη τις κατηγορίες.

Σημείωση : Η κλάση ή η διεπαφή δεν μπορούν να δηλωθούν ως ιδιωτικές.

Σύνταξη:

ρολόι δημόσιας τάξης {ιδιωτικό χρονικό διάστημα = 0}

Ρίξτε μια ματιά σε ένα παράδειγμα για να πάρετε μια σαφή ιδέα σχετικά με αυτόν τον τροποποιητή ιδιωτικής πρόσβασης.

Παράδειγμα:

linux διαχειριστές ρόλοι και ευθύνες
πακέτο p class A {private void display () {System.out.println ('Edureka')}} class B {public static void main (String args []) {A obj = new A () // προσπάθεια πρόσβασης σε ιδιωτικό μέθοδος άλλης κλάσης obj.display ()}}

Το αποτέλεσμα αυτού του προγράμματος είναι:

σφάλμα: Η οθόνη () έχει ιδιωτική πρόσβαση στο Α

obj.display ()

Ελπίζω να είστε ξεκάθαροι με τον τροποποιητή ιδιωτικής πρόσβασης. Στη συνέχεια, ας προχωρήσουμε στον επόμενο τύπο, τροποποιητή δημόσιας πρόσβασης.

Τροποποιητής δημόσιας πρόσβασης

  • Ο τροποποιητής δημόσιας πρόσβασης καθορίζεται χρησιμοποιώντας τη λέξη-κλειδί δημόσιο.
  • Ο τροποποιητής δημόσιας πρόσβασης έχει ένα ευρύ πεδίο μεταξύ όλων των άλλων τροποποιητών πρόσβασης.
  • , μεθόδους ή μέλη δεδομένων που δηλώνονται ως δημόσιο είναι προσβάσιμο οπουδήποτε παντού το πρόγραμμα. Δεν υπάρχει περιορισμός στο πεδίο των δημόσιων μελών δεδομένων.

Σύνταξη:

package edureka.co δημόσια τάξη PublicClassDemo {// Εδώ δεν ανέφερα κανένα τροποποιητή, οπότε λειτουργεί ως προεπιλεγμένος τροποποιητής public int myMethod (int x) {return x}}

Τώρα, ρίξτε μια ματιά σε ένα παράδειγμα για να πάρετε μια σαφή ιδέα σχετικά με αυτόν τον τροποποιητή δημόσιας πρόσβασης.

Παράδειγμα:

πακέτο p1 δημόσια τάξη A {public void display () {System.out.println ('edureka!')}}
πακέτο p2 εισαγωγή p1. * class B {public static void main (String args []) {A obj = new A obj.display ()}}

Έξοδος: edureka!

Αυτά είναι τα πάντα σχετικά με τους τροποποιητές δημόσιας πρόσβασης στην Java.

Ας προχωρήσουμε στους επόμενους τροποποιητές πρόσβασης στην Java, προστατευμένοι τροποποιητές πρόσβασης.

Προστατευμένος τροποποιητής πρόσβασης

  • Ο τροποποιητής προστατευμένης πρόσβασης καθορίζεται χρησιμοποιώντας τη λέξη-κλειδί προστατευμένο .
  • Οι μέθοδοι ή τα μέλη δεδομένων που δηλώνονται ως προστατευμένα είναι προσβάσιμα εντός του ίδιου πακέτου ή υποκατηγοριών σε διαφορετικό πακέτο.
  • Η πρόσβαση στα προστατευόμενα μέλη είναι δυνατή μόνο στα παιδιά ή σε παράγωγες τάξεις.

Σύνταξη:

package packageFourProtected δημόσια τάξη ProtectedClassFour {προστατευμένο int myMethod (int a) {return a}}

Ας ρίξουμε μια ματιά σε ένα παράδειγμα.

Παράδειγμα:

spackage p1 // Κλάση Α δημόσια τάξη Α {προστατευμένη κενή οθόνη () {System.out.println ('Java Certification Training')}}
πακέτο p2 εισαγωγή p1. * // εισαγωγή όλων των τάξεων στο πακέτο p1 // Η κλάση B είναι υποκατηγορία της κατηγορίας Α επεκτείνεται Α | {public static void main (String args []) {B obj = νέο B () obj.display ()}}

Έξοδος - Τροποποιητές πρόσβασης σε Java - Edureka

Αυτό είναι ό, τι πρέπει να γνωρίζετε για τις διάφορες μεθόδους στους τροποποιητές πρόσβασης στην Java. Ας προχωρήσουμε στο επόμενο θέμα.

Πρόσβαση τροποποιητών με παράκαμψη μεθόδου

Σε περίπτωση που παρακάμπτετε οποιαδήποτε μέθοδο, η μέθοδος παράκαμψης που δηλώνεται στην υποκατηγορία δεν πρέπει να είναι περιοριστική.

Ρίξτε μια ματιά στο παρακάτω παράδειγμα.

class A {προστατευμένο κενό msg () {System.out.println ('Hello java')}} δημόσια κλάση Simple επεκτείνει A {void msg () {System.out.println ('Hello java')} // CTError public static void main (String args []) {Simple obj = new Simple () obj.msg ()}}

Ο προεπιλεγμένος τροποποιητής είναι πιο περιοριστικός παρά προστατευμένος. Αυτός είναι ο λόγος για τον οποίο υπάρχει σφάλμα χρόνου μεταγλώττισης.

Έλεγχος πρόσβασης και κληρονομικότητα

  • Εάν, σε περίπτωση, δημιουργήσετε μια υποκατηγορία κάποιας κλάσης, τότε οι μέθοδοι σε αυτήν την υποκατηγορία δεν μπορούν να έχουν εκχωρημένους τροποποιητές πρόσβασης με λιγότερη πρόσβαση από αυτές της υπερκλαστικής.
  • Για παράδειγμα, εάν μια μέθοδος στο superclass είναι δημόσιο τότε πρέπει να είναι δημόσιο και στην υποκατηγορία. Εάν μια μέθοδος στο superclass είναι προστατευμένο, τότε πρέπει να είναι προστατευμένο ή δημόσιο στην καθορισμένη υποκατηγορία.
  • Οι μέθοδοι που δηλώνονται ως ιδιωτικές δεν κληρονομούνται καθόλου.

Αυτό μας φέρνει στο τέλος αυτού του άρθρου όπου μάθαμε το στους τροποποιητές της Access στην Java. Ελπίζω να είστε ξεκάθαροι με όλα όσα έχουν μοιραστεί μαζί σας σε αυτό το σεμινάριο.

Βεβαιωθείτε ότι εξασκείστε όσο το δυνατόν περισσότερο και επαναφέρετε την εμπειρία σας.

τι είναι αδιέξοδο στην Ιάβα

Εάν βρήκατε αυτό το άρθρο σχετικά με το 'Access Modifiers in Java', ανατρέξτε στο μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Είμαστε εδώ για να σας βοηθήσουμε σε κάθε βήμα του ταξιδιού σας, για να γίνετε εκτός από αυτές τις ερωτήσεις της συνέντευξης java, έχουμε ένα πρόγραμμα σπουδών που έχει σχεδιαστεί για μαθητές και επαγγελματίες που θέλουν να γίνουν προγραμματιστές Java. Το μάθημα έχει σχεδιαστεί για να σας δώσει μια πρώτη αρχή στον προγραμματισμό Java και να σας εκπαιδεύσει τόσο για τις βασικές όσο και για τις προηγμένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

Εάν συναντήσετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να υποβάλετε όλες τις ερωτήσεις σας στην ενότητα σχολίων του 'Access Modifiers in Java' και η ομάδα μας θα χαρεί να απαντήσει.