Σε αυτό το παράδειγμα, θα μάθουμε να προσδιορίζουμε την κλάση ενός αντικειμένου στην Java χρησιμοποιώντας τη μέθοδο getClass (), το instanceof operator και τη μέθοδο isInstance ().
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες εφαρμογές προγραμματισμού Java:
- Τάξη και αντικείμενα Java
- Java instanceof χειριστή
Παράδειγμα 1: Ελέγξτε την κλάση ενός αντικειμένου χρησιμοποιώντας το getClass ()
class Test1 ( // first class ) class Test2 ( // second class ) class Main ( public static void main(String() args) ( // create objects Test1 obj1 = new Test1(); Test2 obj2 = new Test2(); // get the class of the object obj1 System.out.print("The class of obj1 is: "); System.out.println(obj1.getClass()); // get the class of the object obj2 System.out.print("The class of obj2 is: "); System.out.println(obj2.getClass()); ) )
Παραγωγή
Η τάξη του obj1 είναι: τάξη Test1 Η τάξη του obj2 είναι:
Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τη getClass()
μέθοδο της Object
κλάσης για να πάρουμε το όνομα κλάσης των αντικειμένων obj1 και obj2.
Για να μάθετε περισσότερα, επισκεφθείτε το Java Object getClass ().
Παράδειγμα 2: Ελέγξτε την κλάση ενός αντικειμένου χρησιμοποιώντας το χειριστή instanceOf
class Test ( // class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test if(obj instanceof Test) ( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Παραγωγή
obj είναι ένα αντικείμενο της τάξης δοκιμής
Στο παραπάνω παράδειγμα, χρησιμοποιήσαμε τον instanceof
τελεστή για να ελέγξουμε εάν το αντικείμενο obj είναι μια παρουσία της κλάσης Δοκιμή.
Παράδειγμα 3: Ελέγξτε την κλάση ενός αντικειμένου χρησιμοποιώντας το isInstance ()
class Test ( // first class ) class Main ( public static void main(String() args) ( // create an object Test obj = new Test(); // check if obj is an object of Test1 if(Test.class.isInstance(obj))( System.out.println("obj is an object of the Test class"); ) else ( System.out.println("obj is not an object of the Test class"); ) ) )
Παραγωγή
obj είναι ένα αντικείμενο της τάξης δοκιμής
Εδώ, χρησιμοποιήσαμε τη isInstance()
μέθοδο της κλάσης Class
για να ελέγξουμε εάν το αντικείμενο obj είναι αντικείμενο της κλάσης Δοκιμή.
Η isInstance()
μέθοδος λειτουργεί παρόμοια με τον instanceof
χειριστή. Ωστόσο, προτιμάται κατά τη διάρκεια του χρόνου εκτέλεσης.