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

Win a copy of REST with Spring (video course) this week in the Spring forum!
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: 4541

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: 79
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.

SCEA, PMP, read my blog:
It is sorta covered in the JavaRanch Style Guide.
subject: Polymorphysm
It's not a secret anymore!