File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Architect Certification (SCEA/OCMJEA) and the fly likes Polymorphysm Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » Architect Certification (SCEA/OCMJEA)
Bookmark "Polymorphysm" Watch "Polymorphysm" New topic


Rajan Choudhary
Ranch Hand

Joined: Mar 17, 2011
Posts: 196
Which of the following class inheritance scenarios describes polymorphism in Java?
1 one class inherits from multiple parent classes
2 one class implementing many interfaces
3 multiple classes implementing one interface
4 multiple classes inherit from single abstract parent class

I saw different answers in different places. Is anybody 100% about the answers?
Rajan Choudhary
Ranch Hand

Joined: Mar 17, 2011
Posts: 196
I feel, 3 & 4 should be the correct ones but somehow I remember I saw 1 & 2 correct ones...
Matthew Brown

Joined: Apr 06, 2010
Posts: 4387

Well, 1's not even possible in Java, so you can rule that out.

Edit: unless they mean an inheritance chain, I suppose.

I'd agree, 3 and 4 are the best fit. Polymorphism is about treating objects as if they are of a common class, and they behave appropriately according to which subclass they are an instance of. You could make a case that polymorphism can happen whenever you have inheritance, but 3 and 4 are a better example for demonstrating it.
Rajan Choudhary
Ranch Hand

Joined: Mar 17, 2011
Posts: 196
Yes, I too thought about chained inheritance. You and I are in favor of 3 & 4. I would go by that unless someone comes up with good clarification. Thanks for your comments.
Claudiu Dumitrescu

Joined: Sep 09, 2008
Posts: 29
I would say the best answer that applies here is 3.
Inheriting from an abstract class does not guarantee that a method can change or will change its behavior in subclasses
Yegor Bugayenko
Ranch Hand

Joined: Feb 11, 2011
Posts: 66
POLY-morphism means that two classes have the same interface, but different behavior. Thus, options 1 and 2 are out.

Option 4 says nothing about common interface of these multiple classes. "Abstract class" doesn't mean that it has any methods in it.

Thus, the only option is 3.

follow me at
I agree. Here's the link:
subject: Polymorphysm