File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Overloading and Overriding Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Overloading and Overriding" Watch "Overloading and Overriding" New topic
Author

Overloading and Overriding

Arnb Sen
Ranch Hand

Joined: Feb 23, 2004
Posts: 145
Why does this code compile ?


public class class1 {
public static void main(String args[]) {
System.out.println("main");
}

public void test(String name) {
System.out.println("test");
}

public void test(StringBuffer name){}
public void test(String name){}
}


[ November 26, 2005: Message edited by: Arnb Sen ]

Regards,<br />Arnab
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42915
    
  68
It doesn't. You can't have two methods declarations with the same signature. You can however, as the class does, overload 'test' by methods with different signatures.
Arnb Sen
Ranch Hand

Joined: Feb 23, 2004
Posts: 145
Thanks Ulf.


These are set of codes which I wrote. Some are overloading, some are overriding and some are simlpe hiding.

I have clasified them. Are they correct ?

FIRST CODE



SECOND CODE



THIRD CODE



FOURTH CODE



FIFTH CODE



SIXTH CODE



Categories : Overloading, Overriding, Hiding

1. FIRST CODE - Creating an instance of Base class in the subclass. Which cateory does this fall in ?
2. SECOND CODE - Is this Overriding ? Code does not compile. Method "methodInBase" has different return type in subclass as compared to that of the Base class.
3. THIRD CODE -
4. FOURTH CODE - This is Overriding
5. FIFTH CODE - This is Overriding as well
6. SIXTH CODE - This will not compile because sublass variable cannot reference an instance of Base class.
Sowjanya Chowdary
Ranch Hand

Joined: Aug 22, 2005
Posts: 35
Arnb,

1. FIRST CODE - overloading
2. SECOND CODE - This is not a valid overriding or overloading. That is the reason for compilation error.
3. THIRD CODE - same as above
4. FOURTH CODE - This is Overriding.
5. FIFTH CODE - This is Overriding.
6. SIXTH CODE - This is also Overriding. But, compilation error because base class object can't be assigned to a subclass reference(class2 c2 = new class2Base() .
Hope this helps.
Stuart Ash
Ranch Hand

Joined: Oct 07, 2005
Posts: 637
Originally posted by Arnb Sen:
Why does this code compile ?



[ November 26, 2005: Message edited by: Arnb Sen ]


What made you say it compiles??


ASCII silly question, Get a silly ANSI.
Arnb Sen
Ranch Hand

Joined: Feb 23, 2004
Posts: 145
Hi Amrutha,

Thanks a lot. Helps

Hi Stuart,

The code was slightly different when I was compiling in textpad and then to make it neater while posting, I modified some of the names.

When Ulf pointed out that it is not compiling, I cross-checked the code that I had and the one I posted and realised that while changing the names, I made an error.
Stuart Ash
Ranch Hand

Joined: Oct 07, 2005
Posts: 637
Ah ok
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Overloading and Overriding