Σπίτι Προσωπικά Οικονομικά Πώς να δημιουργήσετε εσωτερικές τάξεις σε Java - dummies

Πώς να δημιουργήσετε εσωτερικές τάξεις σε Java - dummies

Βίντεο: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024

Βίντεο: Fun with Music and Programming by Connor Harris and Stephen Krewson 2024
Anonim

Εδώ είναι μεγάλα νέα! Στην Java, μπορείτε να ορίσετε μια τάξη μέσα σε μια άλλη κλάση! Εδώ, η κλάση GameFrame περιέχει μια κλάση που ονομάζεται MyActionListener .

εισαγωγή java. awt. FlowLayout;

εισαγωγή java. awt. Εκδήλωση. ActionEvent;

εισαγωγή java. awt. Εκδήλωση. ActionListener;

εισαγωγή java. χρήσιμο. Τυχαίος;

εισαγωγή javax. κούνια. JButton;

εισαγωγή javax. κούνια. JFrame;

εισαγωγή javax. κούνια. JLabel;

εισαγωγή javax. κούνια. JTextField;

κατηγορία GameFrame επεκτείνει το JFrame {

ιδιωτική στατική τελική μακρά serialVersionUID = 1L;

int randomNumber = νέα Τυχαία (). nextInt (10) + 1.

int numGuesses = 0;

JTextField textField = νέο JTextField (5);

Κουμπί JButton = νέο JButton ("Guess");

JLabel ετικέτα = νέο JLabel (numGuesses + "εικασίες");

δημόσιο GameFrame () {

setDefaultCloseOperation (JFrame EXIT_ON_CLOSE);

setLayout (νέο FlowLayout ());

προσθήκη (textField);

προσθήκη (κουμπί);

προσθήκη (ετικέτα);

. addActionListener (νέο MyActionListener () );

πακέτο ();

setVisible (true);

}

Η κλάση MyActionListener υλοποιεί το ActionListener {

@Override

δημόσια άκυρη ενέργειαΕπεξεργασμένο (ActionEvent e) {

String textFieldText = textField . getText ();

αν (ακέραιος parseInt (textFieldText) == randomNumber) {

κουμπί. setEnabled (false);

textField. setText (textField. getText () + "Ναι!");

textField. setEnabled (false);

} αλλιώς {

textField. setText ("");

textField. requestFocus ();

}

numGuesses ++;

Ετικέτα συμβολοσειράς = (numGuesses == 1); "εικασία": "εικασίες";

. setText (numGuesses + guessword);

}

}

}

Η παραπάνω κλάση MyActionListener είναι μια εσωτερική κλάση. Μια εσωτερική τάξη μοιάζει πολύ με οποιαδήποτε άλλη τάξη. Αλλά μέσα στον κώδικα της εσωτερικής τάξης, μπορείτε να ανατρέξετε στα πεδία της κατηγορίας που περικλείει. Για παράδειγμα, μερικές δηλώσεις μέσα στο MyActionListener χρησιμοποιούν το όνομα textField και textField ορίζεται στην κατηγορία GameFrame .

Παρατηρήστε ότι ο παραπάνω κωδικός χρησιμοποιεί μόνο μία φορά την κλάση MyActionListener . (Η μόνη χρήση είναι σε μια κλήση στο κουμπί addActionListener .) Έτσι, χρειάζεστε πραγματικά ένα όνομα για κάτι που χρησιμοποιείται μόνο μία φορά; Όχι, δεν το κάνετε. Μπορείτε να αντικαταστήσετε ολόκληρο τον ορισμό της εσωτερικής κλάσης εντός της κλήσης με το κουμπί .addActionListener . Όταν το κάνετε αυτό, έχετε μια ανώνυμη εσωτερική τάξη. Έτσι λειτουργεί.

εισαγωγή java. awt. FlowLayout;

εισαγωγή java. awt. Εκδήλωση. ActionEvent;

εισαγωγή java. awt. Εκδήλωση. ActionListener;

εισαγωγή java. χρήσιμο. Τυχαίος;

εισαγωγή javax. κούνια. JButton;

εισαγωγή javax. κούνια. JFrame;

εισαγωγή javax. κούνια. JLabel;

εισαγωγή javax. κούνια. JTextField;

κατηγορία GameFrame επεκτείνει το JFrame {

ιδιωτική στατική τελική μακρά serialVersionUID = 1L;

int randomNumber = νέα Τυχαία (). nextInt (10) + 1.

int numGuesses = 0;

JTextField textField = νέο JTextField (5);

κουμπί JButton = νέο JButton ("Guess");

JLabel ετικέτα = νέο JLabel (numGuesses + "εικασίες");

δημόσιο GameFrame () {

setDefaultCloseOperation (JFrame EXIT_ON_CLOSE);

setLayout (νέο FlowLayout ());

προσθήκη (textField);

προσθήκη (κουμπί);

προσθήκη (ετικέτα);

. addActionListener (νέο ActionListener () {

@Override

δημόσια άκυρη ενέργειαΕπεξεργασμένη (ActionEvent e) { String textFieldText = textField. = randomNumber) κουμπί <

setEnabled (ψευδές)

textField.setText (textField.getText () + "Ναι!")

numGuesses ++;

String guessWord = (numGuesses == 1); "μαντέψει": "εικασίες", < ετικέτα. SetText (numGuesses + guessword),

}

}

);

πακέτο ();

setVisible (true);

}

}

Οι εσωτερικές κλάσεις είναι καλές για πράγματα όπως επεμβάσεις συμβάντων, όπως η μέθοδος

actionPerformed

. Το πιο δύσκολο πράγμα για μια εσωτερική τάξη ανώνυμα

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

Πώς να δημιουργήσετε εσωτερικές τάξεις σε Java - dummies

Η επιλογή των συντακτών

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Microsoft SharePoint Workspace είναι ο καλλιτέχνης παλαιότερα γνωστός ως Microsoft Office Groove desktop εφαρμογή προσαρμοσμένη για άτομα που θέλουν να συνεργάζονται σε έγγραφα online και offline. Προσφέρεται μαζί με το Office 2010 και παρέχει μια διεπαφή χρήστη παρόμοια με την Εξερεύνηση των Windows για προβολή και επεξεργασία αρχείων και λιστών από μια τοποθεσία του SharePoint. SharePoint Workspace ...

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

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

Για ιστότοπους SharePoint Online - dummies

Για ιστότοπους SharePoint Online - dummies

Μπορείτε να δημιουργήσετε και να αναπτύξετε τρεις κύριους τύπους σελίδων του SharePoint όχι λιγότερο!) - το καθένα με ξεχωριστή λειτουργία: περιεχόμενο, τμήματα Web και εκδόσεις σελίδων. Σελίδα περιεχομένου: Επίσης γνωστή ως σελίδα wiki, αυτό είναι το μαχαίρι ελβετικού στρατού των σελίδων του SharePoint. Μια σελίδα περιεχομένου παρέχει όχι μόνο μια θέση ...

Η επιλογή των συντακτών

Τι είναι ένας χάρτης Java; - ανδρείκελα

Τι είναι ένας χάρτης Java; - ανδρείκελα

Πίνακες και εξειδικευμένες λίστες καθιστούν δυνατή την εκτέλεση μιας εκπληκτικής σειράς εργασιών με την Java. Ωστόσο, υπάρχουν περιπτώσεις όπου μια εφαρμογή Java χρειάζεται κάτι που είναι περισσότερο παρόμοιο με μια βάση δεδομένων, χωρίς να έχει όντως όλες τις αποσκευές της βάσης δεδομένων (όπως η αγορά μιας ξεχωριστής εφαρμογής). Για παράδειγμα, μπορεί να θέλετε να είστε σε θέση ...

Λίγα περίεργα πράγματα για το Java Math - dummies

Λίγα περίεργα πράγματα για το Java Math - dummies

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

Η επιλογή των συντακτών

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Από τα τρία νέα φίλτρα Blur στο Photoshop CS6, θα έχετε επίσης πρόσβαση σε δύο σχετικούς πίνακες ελέγχου, Εργαλεία θόλωσης και Εφέ θόλωσης, τα οποία περιέχουν τις επιλογές σας. Και τα τρία φίλτρα σας επιτρέπουν να δημιουργήσετε ειδικά εφέ. Blur πεδίου: Δημιουργεί μια συνολική θόλωση στην εικόνα σας. Με την προσθήκη πρόσθετων σημείων ελέγχου ή καρφίτσες, ...

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

, αυτόνομο πλαίσιο Μάσκες στο Photoshop CS6 προς όφελος του πίνακα Ιδιότητες, ο οποίος περιλαμβάνει τώρα τις δυνατότητες των πλαισίων Μάσκες και Προσαρμογές. Δεν υπάρχουν όμως ανησυχίες. Κανένα από τα χαρακτηριστικά που παρείχε προηγουμένως ο πίνακας "Μάσκες" χάθηκε. Ο νέος πίνακας Ιδιότητες σάς δίνει τη δυνατότητα να προσθέσετε, να επεξεργαστείτε και να διαχειριστείτε το στρώμα σας, ...

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

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