Method overloading in Java occurs when two or more methods in the same class have the exact same name, but different parameters.
class Dog{
public void bark(){
System.out.println("woof ");
}
<span class="token cComment">//overloading method</span>
<span class="token cVar">public</span> <span class="token cVar">void</span> <span class="token cMod">bark</span><span class="token cBase">(</span><span class="token cVar">int</span> num<span class="token cBase">)</span><span class="token cBase">{</span>
<span class="token cVar">for</span><span class="token cBase">(</span><span class="token cVar">int</span> i<span class="token cBase">=</span><span class="token cNum">0</span><span class="token cBase">;</span> i<span class="token cBase"><</span>num<span class="token cBase">;</span> i<span class="token cBase">++</span><span class="token cBase">)</span>
<span class="token class-name">System</span><span class="token cBase">.</span>out<span class="token cBase">.</span><span class="token cMod">println</span><span class="token cBase">(</span><span class="token cString">"woof "</span><span class="token cBase">)</span><span class="token cBase">;</span>
<span class="token cBase">}</span>
}
On the other hand, method overriding is defined as the case when a child class redefines the same method as a parent class. Overridden methods must have the same name, argument list, and return type. The overriding method may not limit the access of the method it overrides.
class Dog{
public void bark(){
System.out.println("woof ");
}
}
class Hound extends Dog{
public void sniff(){
System.out.println("sniff ");
}
<span class="token cVar">public</span> <span class="token cVar">void</span> <span class="token cMod">bark</span><span class="token cBase">(</span><span class="token cBase">)</span><span class="token cBase">{</span>
<span class="token class-name">System</span><span class="token cBase">.</span>out<span class="token cBase">.</span><span class="token cMod">println</span><span class="token cBase">(</span><span class="token cString">"bowl"</span><span class="token cBase">)</span><span class="token cBase">;</span>
<span class="token cBase">}</span>
}
public class OverridingTest{
public static void main(String [] args){
Dog dog = new Hound();
dog.bark();
}
}
Source: github.com/snowdream