![4a6a54c0decca47d934d8200efc67eb0.png](https://img-blog.csdnimg.cn/img_convert/4a6a54c0decca47d934d8200efc67eb0.png)
1. 问题描述
随着头越来越秃,会发现Java中重写与重载越来越重要,贯穿整个编程过程,用通俗的语言简单介绍
2. 问题方案
重写和重载都是java多态性的一种表现。
2.1 重写(Override)
2.1.1 重要特征
(1)重写方法位于两个类中;
(2)方法名称与参数一模一样
2.1.2 主要场景
父类与子类之间。
2.1.3 示例
class Animal{
public void move(){
System.out.println("我是父类,跑和走");
}
}
class Dog extends Animal{
public void move(){
System.out.println("我是子类,狗可以跑和走");
}
}
class cat extends Animal{
public void move(){
System.out.println("我是子类,猫猫走路");
}
}
public class Test{
public static void main(String args[]){
Animal a = new Animal();
Animal b = new Dog();
Animal c = new cat();
a.move();
b.move();
c.move();
}
}
执行结果:
我是父类,跑和走
我是子类,狗可以跑和走
我是子类,猫猫走路
2.2 重载(Overload)
2.2.1 重要特征
(1)重载方法位于一个类中;
(2)方法名称一样,但是参数个数或者类型不能一样。
2.2.2 常用场景
构造函数,其实为了使程序具有更好的扩展性或者兼容性,重载也常常被用到,比如我们常用的System.out.println()就是典型的重载。
2.2.3 示例
public static void main(String[] args) {
System.out.println(11);
System.out.println(11L);
System.out.println(11d);
System.out.println("打发斯蒂芬单点");
}
执行结果:
11
11
11.0
打发斯蒂芬单点
JDK中Println源码:
![a97e9c1d01980ad71cd1ca1eb1843556.png](https://img-blog.csdnimg.cn/img_convert/a97e9c1d01980ad71cd1ca1eb1843556.png)
如果你觉得文章对你有些帮助,欢迎微信搜索「软件老王」第一时间阅读!