Τρόπος υλοποίησης ανώνυμης κλάσης στην Java



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

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

Δήλωση ανώνυμων τάξεων





Κανονικά δημιουργούμε μια τάξη δηλ. Δηλώνουμε την τάξη αλλά, οι ανώνυμες τάξεις είναι εκφράσεις που σημαίνει ότι ορίζουμε την ανώνυμη τάξη σε άλλη έκφραση . Με απλά λόγια, η ανώνυμη εσωτερική κλάση είναι μια κλάση χωρίς ονόματα και δημιουργείται μόνο ένα αντικείμενο.

Anonymous-Class-In-Java



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

Το ανώνυμο μπορεί να δημιουργηθεί με δύο τρόπους:

  • Τάξη (μπορεί επίσης να είναι Περίληψη)
  • Διεπαφή

Στην ανώνυμη τάξη μπορούμε να δηλώσουμε τα εξής:



  • Πεδία
  • Επιπλέον μέθοδοι
  • Αρχικοποιητές παρουσίας
  • Τοπικές τάξεις

Σύνταξη Ανώνυμης Τάξης στην Ιάβα

Η σύνταξη μιας ανώνυμης κλάσης είναι ακριβώς όπως ο κατασκευαστής εκτός από το ότι υπάρχει ένας ορισμός κλάσης στο μπλοκ, όπως φαίνεται στο παρακάτω απόσπασμα:

// AnonymousClass = διεπαφή, αφηρημένη / συγκεκριμένη κλάση. AnonymousClass t = νέο AnonymousClass () {// μέθοδοι και πεδία δημόσια άκυρα someMethod () {// ο κώδικας πηγαίνει εδώ}}

Ας ρίξουμε μια ματιά στο ακόλουθο παράδειγμα:

Το ακόλουθο παράδειγμα,Γεια σας AnonymousClass, χρησιμοποιεί ανώνυμες κλάσεις στις δηλώσεις αρχικοποίησης των τοπικών μεταβλητώνκαλωσορίζω κάποιοναλλά, χρησιμοποιεί μια τοπική τάξη για την αρχικοποίηση της μεταβλητήςχαιρετώ τον κόσμο:

προεπιλεγμένη τιμή συμβολοσειράς σε java
δημόσια τάξη HelloAnonymousClass {interface HelloWorld {public void sayHello () public void sayHelloTo (String some)} public void sayHello () {class GreetWorld εφαρμόζει HelloWorld {String name = 'world' public void sayHello () {sayHelloTo ('world')} public void sayHelloTo (String some) {name = some System.out.println ('Hello' + name)}} HelloWorld SalamWorld = new GreetWorld () HelloWorld SalamSomeone = νέο HelloWorld () {String name = 'jon' public void sayHello ( ) {sayHelloTo ('Jon')} δημόσιο άκυρο sayHelloTo (συμβολοσειρά κάποιου) {name = some System.out.println ('hola' + name)}} SalamWorld.sayHello () SalamSomeone.sayHelloTo ('Doe')} δημόσια στατική void main (String ... args) {HelloAnonymousClass myApp = νέο HelloAnonymousClass () myApp.sayHello ()}}

Όπως έχουμε δει ότι η ανώνυμη κλάση είναι μια έκφραση, η σύνταξη είναι ακριβώς όπως ο κατασκευαστής, εκτός εάν υπάρχει ένας ορισμός τάξης στο μπλοκ. Εξετάστε το παράδειγμα του αντικειμένου salamSomeone:

HelloWorld SalamSomeone = νέο HelloWorld () {String name = 'jon' public void sayHello () {sayHelloTo ('Jon')} public void sayHelloTo (String some) {name = some System.out.println ('hola' + name) }}

Η ανώνυμη τάξη αποτελείται από τα ακόλουθα:

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

Η ανώνυμη τάξη πρέπει να είναι μέρος των δηλώσεων.

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

Τρόποι δημιουργίας ανώνυμης τάξης στην Java

Υπάρχουν 3 τρόποι δημιουργίας εσωτερικής τάξης στην Java

  • Με επέκταση τάξης

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

// Πρόγραμμα για την απεικόνιση της κατηγορίας Anonymous Inner με την επέκταση άλλης κλάσης κλάσης AnonymousThreadClass {public static void main (String [] args) {// Anonymous Inner class που επεκτείνει την κλάση Thread Thread t = new Thread () {public void run () {System .out.println ('Child!')}} t.start () System.out.println ('Parent!')}}

Παραγωγή:

c ++ goto γραμμή

Μητρική εταιρεία!

Παιδί!

  • Με την εφαρμογή διεπαφής

Μπορούμε επίσης να δημιουργήσουμε μια ανώνυμη εσωτερική τάξη εφαρμόζοντας τη διεπαφή. Τώρα, καθώς δημιουργήσαμε μια εσωτερική τάξη επεκτείνοντας την τάξη με τον ίδιο τρόπο, μπορούμε να δημιουργήσουμε μια τάξη που εφαρμόζει μια διεπαφή

// Πρόγραμμα για την απεικόνιση της κλάσης Anonymous Inner εφαρμόζοντας την κλάση διεπαφής AnonymousThreadClass {public static void main (String [] args) {// Anonymous Inner class που εφαρμόζει διεπαφή Runnable r = new Runnable () {public void run () {System.out .println ('Child!')}} Νήμα t = νέο νήμα (r) t.start () System.out.println ('Parent!')}}

Παραγωγή:

Μητρική εταιρεία!

Παιδί!

  • Ως επιχείρημα για μια Μέθοδο / Κατασκευαστή

Για να κατανοήσετε τη σύνταξη ας δούμε το παρακάτω παράδειγμα:

// Πρόγραμμα για την απεικόνιση της Ανώνυμης εσωτερικής κλάσης με κατηγορία ονομάτων AnonymousThreadClass {public static void main (String [] args) {// Ανώνυμη κλάση με κατασκευαστικό όρισμα Thread t = new Thread (new Runnable () {public void run () {System. out.println ('Child!')}}) t.start () System.out.println ('Γονέας!')}}

Παραγωγή:

Μητρική εταιρεία!

Παιδί!

Διαφορά μεταξύ κανονικής και ανώνυμης εσωτερικής τάξης

  • Μπορούμε να εφαρμόσουμε πολλαπλοί αριθμοί διεπαφών χρησιμοποιώντας κανονική κλάση, αλλά, με ανώνυμη εσωτερική κλάση, μπορούμε να εφαρμόσουμε μόνο μία διεπαφή.

  • Με κανονική τάξη μπορούμε επέκταση τάξης και επίσης να εφαρμόσουμε πολλαπλές διεπαφές αλλά, με μια ανώνυμη εσωτερική κλάση, μπορούμε είτε να επεκτείνουμε μια κλάση είτε να εφαρμόσουμε μια διεπαφή αλλά όχι και τα δύο ταυτόχρονα.

  • Με ανώνυμα εμείς δεν μπορώ να γράψω κατασκευαστή επειδή η ανώνυμη εσωτερική κλάση δεν έχει όνομα και το όνομα του κατασκευαστή θα πρέπει να είναι ίδια με το όνομα της τάξης.

Σε αυτό το άρθρο, είδαμε τι είναι μια ανώνυμη εσωτερική τάξη και πώς μπορούμε να δημιουργήσουμε μια. περάσαμε τη σύνταξη της ανώνυμης εσωτερικής τάξης και επίσης πώς μπορούμε να δημιουργήσουμε μια ανώνυμη τάξη με 3 τρόπους και με αυτό, καταλήγουμε στο τέλος αυτού του άρθρου Anonymous Class in Java. Δείτε το από την Edureka.

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