overload指的是方法重载
override指的是方法重写
画了一个很简单的UML类图给大家解释一下重写重载

package overloadAndoverride;

public class Person {

	private int age;
	private String name ;
	public void eat() 
	{
		System.out.println("人类的吃饭方法");
	}
}

package overloadAndoverride;

public class Student extends Person {

	public void eat() {
		
		System.out.println("从人类继承而来的吃饭方法");		
	}
	public void eat(String name) {
		System.out.println("从人类继承而来的吃饭方法,学生吃了"+name);	
	}
}

测试类

package overloadAndoverride;

public class TestOverloadAndOverride {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根

		Person per1 = new Person();
		per1.eat();
		Student stu1 =  new Student();
		stu1.eat();
		stu1.eat("大白菜");
	}

}

输出

总结:
重写总结
重写是发生在子类和父类之间的,或者换句来说重写发生在继承的时候,子类可以重写父类的方法,让父类的方法更适合子类的特点,这也是体现多态的一个方面,权限

重载总结
1.重载发生在一个类中,是因为参数列表不同导致的多态性。
(参数列表不同,参数的;类型、顺序、数目任一不同,或者多个不同)
2.重载时,方法的返回值类型可以不同,能够把返回值类型当做重载的区分标准。

面试:重载和重写的区别:
答:重载和重写都是事先多态的方式,重写实现了编译时的多态,重载实现了运行时的多态。重写发生在子类和父类之间,所以必须有两个类,他们之间是继承关系,子类对父类的方法进行重写,而重载发生在一个类中,对一个类可以有不用的参数列表,而不同的参数列表将会给类提供不同的处理方法,即为重载方法。