Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Overload, Override & more specific 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 "Overload, Override & more specific" Watch "Overload, Override & more specific" New topic

Overload, Override & more specific

Alfred Kemety
Ranch Hand

Joined: Aug 14, 2002
Posts: 279
What will the following code do on compiling and running?

A- prints 5
B- prints 10
C- Compile Error because of ambiguity
D- Compile Error at declaration of aMethod in class Test
More important than what is why?

Alfred Raouf - Egypt - SCJP 1.4<br />Kemety.equals(Egyptian) // returns true
Aniruddha Mukhopadhyay
Ranch Hand

Joined: Nov 15, 2000
Posts: 59
Answer obviously is B (will print 10). There is no case of method overriding here as methods have different argument type. As the argument is of type int, method:
public long aMethod(int x) {
return 5 * x;
will get called and output on screen will be 10.

I agree. Here's the link:
subject: Overload, Override & more specific
It's not a secret anymore!