aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Need explain instanceof operator issue Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Need explain instanceof operator issue" Watch "Need explain instanceof operator issue" New topic
Author

Need explain instanceof operator issue

matej spac
Greenhorn

Joined: Apr 21, 2011
Posts: 28
Hi,
I do not understand why instanceof operator is working as it is working. For example:


cause compilation error - this is clear, there is no IS-A relationship, Dog never ever could be a Cat.
But another example behaviour is weird for me:


works fine. It compiles and also run (and produce false of cource).
So tell me, in which universe Robot could be an Animal?
Why this don't cause compile error?


|OCPJP 6|
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18675
    
    8

There could be a subclass of Robot which implements Animal. The compiler sees a variable of type Robot; this could be a reference to an instance of that subclass.

Try declaring the Robot class as "final" and see what changes.
matej spac
Greenhorn

Joined: Apr 21, 2011
Posts: 28
wow, so briefly and so clearly :-)
thanks, now I understand
 
wood burning stoves
 
subject: Need explain instanceof operator issue