重载重写

Posted ygao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重载重写相关的知识,希望对你有一定的参考价值。

重载(overloading)(编译期间)
函数或者方法,同名不同参。
在运行的时候,根据引用变量所指向的实际对象的类型来调用方法
主要出现于构造函数,重载体现在一个类中。

public class Overload {
    public void test(){
        System.out.println("空参数列表");
    }
 
    public void test(int a){
        System.out.println("有参数列表");
    }   

 
    public void test(int a,String s){
        System.out.println("参数列表有多项");
    }   
 
    public void test(String s,int a){
        System.out.println("参数列表顺序不同");
    }   
 
    public static void main(String[] args){
        Overload overload = new Overload();
        overload.test()
        overload.test(1);
        overload.test(1,"test3");
        overload.test("test4",1);
    }
}

重写(overriding)(运行期间)
方法名、参数名一模一样,子类重写父类的某个方法。
参数列表、返回类型必须完全与被重写方法的相同。
重写体现在子类与父类的继承中。
在运行的时候,根据引用变量所指向的实际对象的类型来调用方法。

   public void move(){
      System.out.println("动物可以移动");
   }
}
 
class Bird extends Animal{
   public void move(){
      System.out.println("小鸟可以飞和走");
   }
}

https://zhuanlan.zhihu.com/p/197881384

方法的重载和重写都是实现多态的方式。








以上是关于重载重写的主要内容,如果未能解决你的问题,请参考以下文章

Unity中的重载和重写

方法重载和重写的区别

Java中重载(Overload)和重写(Override)的定义

重写和重载

重载与重写的区别

重载和重写方法中的多态性