欢迎您关注微|信|公|众|号:学习微站
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...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。