[ miljannet @ 16.05.2014. 01:07 ] @
Prisecao sam se necega u vezi operatora na oracleovom sajtu i naisao sam na ovaj code

Code:

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));
    }
}

class Parent {}
class Child extends Parent implements MyInterface {}
interface MyInterface {}


Koji mi je skroz nejasan i nije mi jasno sta se ovde desava ? Ovo sada tek prvi put vidim i nikada ga do sada nisma koristio a nalazi se u osnovama jave u delu operatori ?
Moze neko da mi objasni sta je ovo i kada se koristi. Hvala unapred.
[ Rapaic Rajko @ 16.05.2014. 08:01 ] @
Vrati se na temu objekti, konkretno nasledjivanje (inheritance).
Vrlo je prosto, ali moras ga dobro razumeti, inace neces maci s javom.

Pozz
[ alfa-pro @ 17.05.2014. 13:11 ] @
Ukratko, sa instanceof proveravas dali je objekat instanca neke klase.

Code:
class A { }  
class C extends A { } 
class D extends A { } 

public static void testInstance(){
    A c = new C();
    A d = new D();
    Assert.assertTrue(c instanceof A && d instanceof A);
    Assert.assertTrue(c instanceof C && d instanceof D);
    Assert.assertFalse(c instanceof D);
    Assert.assertFalse(d instanceof C);
}