Πώς να εφαρμόσετε το InstanceOf στο JAVA;



Αυτό το άρθρο σχετικά με το InstanceOf στην Java θα σας παρουσιάσει στο Java instancOf Operator και θα το ακολουθήσει με πρακτική επίδειξη.

InstanceOf In είναι ένας τελεστής, ο οποίος χρησιμοποιείται για τον έλεγχο του τύπου ενός αντικειμένου. Με άλλους όρους, ελέγχει εάν το αντικείμενο είναι μια παρουσία μιας συγκεκριμένης κλάσης ή μιας διεπαφής. Η έξοδος μιας τέτοιας λειτουργίας είναι είτε Αληθής ή Ψευδής

Οι ακόλουθοι δείκτες θα καλυφθούν σε αυτό το άρθρο,





Προχωρώντας με αυτό το άρθρο στο instanceOf στην Java.

Αυτός ο χειριστής είναι επίσης γνωστός ως τύπος χειριστής σύγκρισης , καθώς η παρουσία συγκρίνεται με τον τύπο.



Σύνταξη:

(αντικείμενο) στιγμιότυπο (τύπος)

Ένα παράδειγμα του χειριστή instanceOf μπορεί να δει παρακάτω:

δημόσια τάξη Main {public static void main (String [] args) {Main s = new Main () System.out.println (s instanceof Main)}}

Παραγωγή



διαφορά μεταξύ πίνακα κατακερματισμού και χάρτη κατακερματισμού

αληθής

Στο παράδειγμα, η έξοδος που επιστρέφεται στο χρήστη είναι αληθής , δηλ. « μικρό 'Είναι μια παρουσία της κλάσης Main.

Παράδειγμα

Ένα αντικείμενο της υποκατηγορίας τύπου είναι επίσης ένας τύπος κλάσης γονέα.

Στο παρακάτω παράδειγμα, ο Rock επεκτείνει τη μουσική. Το αντικείμενο του Rock μπορεί να αναφέρεται είτε από την κατηγορία Rock είτε από τη μουσική.

class Music {} class Rock επεκτείνει τη Μουσική {// Το Rock κληρονομεί τη Μουσική δημόσια στατική κενή κενή (String args []) {Rock r = new Rock () System.out.println (r instanceof Rock)}}

Παραγωγή

αληθής

Προχωρώντας με αυτό το άρθρο στο instanceOf στην Java.

Χρήση μεταβλητής με μηδενική τιμή

τάξη Μουσική {public static void main (String args []) {Music m = null System.out.println (m instanceof Music) // false}}

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

Έτσι, η απόδοση που επιστρέφεται είναι λανθασμένη.

Παραγωγή

ψευδής

Το ακόλουθο σημείο πρέπει να σημειωθεί κατά τη χρήση του χειριστή instanceOf:

Προχωρώντας με αυτό το άρθρο στο instanceOf στην Java.

Ένα γονικό αντικείμενο δεν είναι μια παρουσία του παιδιού

class Parent {} class Child επεκτείνει το γονέα {} class Main {public static void main (String [] args) {Parent p = new Parent () if (p instanceof Child) System.out.println ('p είναι μια παρουσία παιδιού ') else System.out.println (' το p δεν είναι παρουσία παιδιού ')}}

Παραγωγή

Το P δεν είναι μια παρουσία του παιδιού

Προχωρώντας με αυτό το άρθρο στο instanceOf στην Java.

Downc αστ

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

Κατά την άμεση εκτέλεση του downcasting, ο μεταγλωττιστής επιστρέφει ένα σφάλμα συλλογής.

keyerror: «α»
Rock r = new Music () // σφάλμα σύνταξης

Κατά τη χρήση της πληκτρολόγησης, το ClassCastException ρίχνεται στο χρόνο εκτέλεσης.

Rock r = (Rock) νέα μουσική () // η επιτυχημένη συλλογή αλλά το ClassCastException ρίχτηκε

Η μόνη μέθοδος με την οποία είναι δυνατή η μετάδοση είναι η χρήση του παρουσιαστή του χειριστή.

class Music {} class Rock επεκτείνει τη μουσική {στατική μέθοδος κενού (Μουσική m) {if (m instanceof Rock) {Rock r = (Rock) m // downcasting System.out.println ('Downcasting Successful')}} δημόσιο στατικό κενό main (String [] args) {Μουσική m = νέο Rock () Rock.method (m)}}

Παραγωγή

Επιτυχής μετάδοση

Προχωρώντας με αυτό το άρθρο στο instanceOf στην Java.

Κατανόηση της παρουσίας:

Η μέθοδος instanceOf μπορεί να γίνει πιο κατανοητή από τα παραδείγματα που δίνονται παρακάτω:

Αυτό το παράδειγμα χρησιμοποιεί μια διεπαφή:

διεπαφή Instance {} class S υλοποιεί Instance {public void s () {System.out.println ('First method')}} class T υλοποιεί Instance {public void t () {System.out.println ('Second method') }} class Invoke {void invoke (Instance i) {// upcasting if (i instanceof S) {S s = (S) i // Downcasting ss ()} εάν (i instanceof T) {T t = (T) i // Downcasting tt ()}}} κλάση Main {public static void main (String args []) {Instance i = new T () Invoke v = new Invoke () v.invoke (i)}}

Η έξοδος του παραδείγματος έχει ως εξής:
Δεύτερη μέθοδος

Αυτό το παράδειγμα δείχνει αυτήν την έννοια με ακριβή τρόπο. Εδώ, η μητρική τάξη είναι Instrument και οι δύο τάξεις παιδιών είναι Guitar και Piano

class Instrument {} class Guitar extends Instrument {} class Piano extends Instrument {} class Main {public static void main (String [] args) {Instrument i = new Instrument () Guitar g = new Guitar () Piano p = νέο πιάνο ( System.out.println (g instanceof Instrument) System.out.println (p instanceof Instrument) System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano) i = g System.out.println ( i instanceof Guitar) System.out.println (i instanceof Piano) i = p System.out.println (i instanceof Guitar) System.out.println (i instanceof Piano)}}

Η έξοδος έχει ως εξής:

αληθής

αληθής

ψευδής

ψευδής

αληθής

ψευδής

ψευδής

αληθής

Έτσι εντοπίζεται αποτελεσματικά ο τύπος ενός αντικειμένου. Ο χειριστής instanceOf αποδεικνύεται αρκετά χρήσιμος, δεδομένου ότι οι μέθοδοι εκτελούνται κατάλληλα.

Έτσι, έχουμε φτάσει στο τέλος αυτού του άρθρου σχετικά με το «instanceOf in Java». Αν θέλετε να μάθετε περισσότερα, δείτε το Java Training από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία μάθησης. έχει σχεδιαστεί για να σας εκπαιδεύσει τόσο για βασικές όσο και για προχωρημένες ιδέες Java μαζί με διάφορα πλαίσια Java όπως το Hibernate & Spring.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.