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…