User Tools

Site Tools


java:instanceof

This is an old revision of the document!


Τελεστής instanceof

Ο τελεστής instanceof επιστρέφει boolean true/false εάν ένα αντικείμενο ανήκει σε συγκεκριμένο τύπο δεδομένων. Με χρήση του τελεστή instanceof μπορούμε να εξετάσουμε εάν ένα αντικείμενο αποτελεί υλοποίηση μίας κλάσης ή υλοποιεί ένα συγκεκριμένο interface. Δείτε το παρακάτω παράδειγμα.

MyInterface.java
public interface MyInterface {
}
Parent.java
public class Parent {
}
Child.java
public class Child extends Parent implements MyInterface {
}
InstanceofDemo.java
class InstanceofDemo {
    public static void main(String[] args) {
 
        Parent obj1 = new Parent();
        Parent obj2 = new Child();
 
        System.out.println("obj1 instanceof Parent: "
            + (obj1 instanceof Parent));
        System.out.println("obj1 instanceof Child: "
            + (obj1 instanceof Child));
        System.out.println("obj1 instanceof MyInterface: "
            + (obj1 instanceof MyInterface));
        System.out.println("obj2 instanceof Parent: "
            + (obj2 instanceof Parent));
        System.out.println("obj2 instanceof Child: "
            + (obj2 instanceof Child));
        System.out.println("obj2 instanceof MyInterface: "
            + (obj2 instanceof MyInterface));
    }
}

Το παραπάνω πρόγραμμα εκτυπώνει

obj1 instanceof Parent: true
obj1 instanceof Child: false
obj1 instanceof MyInterface: false
obj2 instanceof Parent: true
obj2 instanceof Child: true
obj2 instanceof MyInterface: true
java/instanceof.1487065098.txt.gz · Last modified: 2017/02/14 09:38 by gthanos