In overriding method, subclass has the same name and signature as a method in its super class. It means subclass is overriding the method in the super class. For example, Class A { Virtual void Hello (int a) {} } Class B: A { public override void Hello(int a) {} } While overriding you just change the method behavior of the derived class. In Overloading method, two or more methods within the same class can be included with same name but different parameters. For example, Class A { class a() {} class a(int a) {} }
Overloading doesn't block inheritence from the superclass where as overridding blocks inheritence.JAVA does not support multiple inheritance