1 重载(overloading) 是在一个类外面,办法名字雷同,而参数不同。返回类型能够雷同也能够不同。
–》改参数类型,数量

`public class Overloading {` `public int test(){` `System.out.println("test1");` `return 1;` `}`  `public void test(int a){` `System.out.println("test2");` `}`   `//以下两个参数类型程序不同` `public String test(int a,String s){` `System.out.println("test3");` `return "returntest3";` `}`   `public String test(String s,int a){` `System.out.println("test4");` `return "returntest4";` `}`   `public static void main(String[] args){` `Overloading o = new Overloading();` `System.out.println(o.test());` `o.test(1);` `System.out.println(o.test(1,"test3"));` `System.out.println(o.test("test4",1));` `}``}`

2 重写(Override)
重写是子类对父类的容许拜访的办法的实现过程进行从新编写, 返回值和形参都不能扭转。即外壳不变,外围重写!
重写是父类与子类之间多态性的表现形式,重写的益处在于子类能够依据须要,定义特定于本人的行为。 也就是说子类可能依据须要实现父类的办法。
子类—》父类
当须要在子类中调用父类的被重写办法时,要应用 super 关键字。

`class Animal{` `public void move(){` `System.out.println("动物能够挪动");` `}``}` `class Dog extends Animal{` `public void move(){` `super.move(); // 利用super类的办法` `System.out.println("狗能够跑和走");` `}``}` `public class TestDog{` `public static void main(String args[]){`  `Animal b = new Dog(); // Dog 对象` `b.move(); //执行 Dog类的办法`  `}``}`

总结:
重载和重写都实现了多态


来自https://www.runoob.com/java/j...