重载方法是一个类中的多个方法,遵循以下原则: 1、方法的参数列表不同,包括参数的类型或个数; 2、方法的返回值类型、修饰符可以相同也可以不同; 3、方法的返回值类型不能作为区分重载的标志。 package SE; public class Chongzai { public void disPlay(String name) { System.out.println(name+" 重载"); } public void disPlay(int number) { System.out.println(number+" 重载"); } protected void disPlay(String name,String place) { System.out.println(name+" 重载 "+place+" 重载"); } public static void main(String[] args) { Chongzai chongzai=new Chongzai(); chongzai.disPlay("xjf"); chongzai.disPlay(19980309); chongzai.disPlay("xjf","shengyang"); } } 重载disPlay()方法, disPlay(String name)方法跟disPlay(int number)参数类型不同、访问权限相同, disPlay(String name)方法和disPlay(String name,String place)方法参数个数不同、访问权限不同, 方法的重写是子类和父类之间的,遵循以下原则: 1、子类中重写的方法必须和父类中重写的方法具有相同的方法名称、参数列表、和返回值类型 2、子类重写的方法权限不能缩小 3、重写方法不能抛出新的异常 class Dauther extends Mother { public void disPlay(String name) { System.out.println(name+" 子类重写"); } public Dauther ddd() { return null; } } class Mother { protected void disPlay(String name) { System.out.println(name+" 父类重写"); } public Mother ddd() { return null; } } 父类disPlay(String name)方法的权限protect小于子类disPlay(String name)方法的public权限。 父类的ddd()方法返回值类型为Mother,子类ddd()方法返回值类型为 Dauther类型。父类返回值类型是子类返回值类型的父类。子类重写父类方法的返回值类型必须相同或者小于父类