overriding, overwriting, overloading的区别篇

Remarks: 从自家csdn搬运过来的

overriding(覆盖)

子类修改父类中定义的方法的实现——《Java程序语言设计》
子类继承了父类的同名无参函数。当子类从父类继承了一个无参函数,而又定义了一个同样的无参函数,则子类定义的方法覆盖父类的方法,称为覆盖。——《Java高手真经值Java核心编程技术》
Remarks: 在各书的定义里出现的多,但应用的overriding≈overwriting

overwriting(重写)

在子类中重新定义父类中已有的方法

class A{
    public void f(){
        System.out.printf("AAAA\n");
    }
}

class B extends A{
    public void f(){
        super.f(); //可调用父类方法
        System.out.printf("BBBB\n");
    }
}

overloading(重载)

同名的额函数通过不同形参做类似的事情
Remarks1: 形参个数 / 类型 / 顺序不同。
Remarks2: 返回值不一样,就不构成重载。

static int add(int a, int b, int c, int d){
        return a+b+c;
    }

    static double add(double x, double y){
        return x+y;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.abstract class 和interface 有什么区别? 抽象类可以有构造方法 接口不行 抽象类可以有...
    sunnysans阅读 4,351评论 0 1
  • 基础 1.变量 理解为对存储数据的操作,需要指明类型和变量名,使用前需要初始化 2.基本类型 分为:整数(byte...
    你的昵称_多多阅读 929评论 0 0
  • 一、首先我们来讲讲:重载(Overloading) 1、方法重载是让类以统一的方式处理不同类型数据的一种手段。多个...
    眼中的晴空阅读 1,651评论 0 0
  • 前面,由于对泛型擦除的思考,引出了对Java-Type体系的学习。本篇,就让我们继续对“泛型”进行研究: JDK1...
    贾博岩阅读 10,564评论 3 28
  • 面试专题我放在git上了,地址Github 欢迎fork然后一起更新 Java基础点 0,面对对象OOP和面对过程...
    hloong阅读 4,294评论 0 3