aspose file tools*
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Instance of Operator 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 "Instance of Operator" Watch "Instance of Operator" New topic
Author

Instance of Operator

carol souza
Greenhorn

Joined: May 19, 2010
Posts: 1
Hi All ,


Source : SCJP 6 Study Guide by Katherine Sierra & Bert Bates .
Chapter 4 :

Example (a) :

class A { }

class B extends A {
public static void main (String [] args) {
A myA = new B();
m2(myA);
}
public static void m2(A a) {
if (a instanceof B)
((B)a).doBstuff(); // downcasting an A reference
// to a B reference
}
public static void doBstuff() {
System.out.println("'a' refers to a B");
}
}

The preceding code compiles and produces the output:

'a' refers to a B


example (b)

interface Face { }
class Bar implements Face{ }
class Foo extends Bar { }

Output when

Bar instance when tested with Instanceof Operator against Foo class returns false



When we Compare example a and b we see that when class B extends class A
and when we test if a is an instance of b , it returns true
In the same contest in example b when class Foo extends Bar and when we
test if Bar instance is an instance of Foo , should it not return true .


Can someone please guide me what I am missing ,

Thanks in advance,
Carol






Sridhar Gudipalli
Ranch Hand

Joined: Nov 02, 2005
Posts: 120
Hi Carol, Welcome to JavaRanch!!

Please try to compile the below code and try to evaluate yourself.


Sridhar Gudipalli|SCJP 6.0
SCWCD objectives
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Instance of Operator