Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 9147|Απάντηση: 0

[Επικοινωνία] Κατανόηση της παρουσίας λέξης-κλειδιού σε Java

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 5/9/2018 4:34:49 μ.μ. | | |
Ο τελεστής instanceof στη Java χρησιμοποιείται για να υποδείξει κατά το χρόνο εκτέλεσης εάν ένα αντικείμενο είναι παρουσία μιας συγκεκριμένης κλάσης. Το instanceof υποδεικνύει εάν το αντικείμενο είναι ένα στιγμιότυπο αυτής της συγκεκριμένης κλάσης ή της υποκλάσης της επιστρέφοντας ένα boolean.

instanceof στην Java είναι στο .net!

Χρήση:
result = πραγμάτωση αντικειμένουτης κλάσης
Παράμετρος:
Αποτέλεσμα: Δυαδικός τύπος.
Αντικείμενο: Υποχρεωτικό. Αυθαίρετες εκφράσεις αντικειμένων.
Κατηγορία: Υποχρεωτικό. Οποιαδήποτε καθορισμένη κλάση αντικειμένου.
Διευκρινίζω:
Εάν το αντικείμενο είναι μια παρουσία της κλάσης, ο τελεστής instanceof επιστρέφει true. Εάν το αντικείμενο δεν είναι παρουσία της καθορισμένης κλάσης ή εάν το αντικείμενο είναι null, επιστρέφεται false.

Ωστόσο, υπάρχει μια διαφορά μεταξύ της κατάστασης μεταγλώττισης και της κατάστασης εκτέλεσης του instanceof στην Java:

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

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

Παράδειγμα:

διεπαφή Πρόσωπο

δημόσια διεπαφή Πρόσωπο {
δημόσιο κενό eat();
}

Εφαρμόστε την τάξη Άνθρωποι

δημόσια τάξη Οι άνθρωποι υλοποιούν το Πρόσωπο {
ιδιωτικό int a=0;
@Override
public void eat() {
  System.out.println("======"+a);

}

}

Υποκατηγορία xiaoming:

Η δημόσια τάξη xiaoming επεκτείνει τους ανθρώπους {
ιδιωτικό όνομα συμβολοσειράς.

@Override
public void eat() {
System.out.println("+++++++++");
}
}

κύρια λειτουργία



Σημείωση: Ο κώδικας στα παραπάνω 2 σημεία δεν θα αναφέρει σφάλμα κατά τη μεταγλώττιση.

Αποτέλεσμα εκτέλεσης:

true
false
true
true







Προηγούμενος:Το Spring Boot χρησιμοποιεί προφίλ για τη διαμόρφωση προφίλ για διαφορετικά περιβάλλοντα
Επόμενος:Εργασίες SQL Server
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com