聊一聊java中重载与重写的区别

简单来说:

重写是子类的方法覆盖父类的方法,要求方法名和参数都相同

重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名,但是参数却不相

同,方法体也不相同,最常见的重载的例子就是类的构造函数,可以参考API帮助文档

看看类的构造方法

  举例如下:

重载:一个类中有一个方法A,你又在这个类中创建了一个方法B,方法B的名字和A一样,返回值类型也一样,但是参数的类型或个数不同,此时B重载了A。
例如:
public class TestClass{
    public int test(int i){return 1;}
    public int test(float f){return 1;}
}
重写:一个类M继承另一个类N,N中有一个方法A,这时你在M写了一个方法B,方法B的名字、返回值以及参数都和A一样,此时B重写了A。
例如:
public class TestClass1{
    public int test(int i){return 1;}
}
public class TestClass2 extends TestClass1{
     public int test(int i){return 2;}
}
转载请注明:https://blog.csdn.net/qq_36776216

猜你喜欢

转载自blog.csdn.net/qq_36776216/article/details/80559387
今日推荐