[Thinking in Java] - No.4 重写、覆盖和重载
2017-03-06 16:35
232 查看
三个概念:重写、覆盖、重载的区分:
重写 = 覆盖(Override),是指我们在子类中,构造和父类完全一样的函数构造完全一样的函数。覆盖有以下原则:
1、三同原则:同方法名、同返回类型、同参数表。
2、子类中的覆盖方法不能使用比父类中被覆盖的方法更严格的访问权限(public>protected>default>private)。
3、如需使用父类中原有的方法,可使用super关键字,该关键字引用了当前类父类的方法。
覆盖指的是基类和导出类之间的关系。
重载(Overload),指的是我们定义多个名称相同,但是函数签名(参数表)不同的函数。返回类型不能作为重载的依据。如果两个函数仅仅只有返回值不同,参数相同,那么在我们调用的时候编译器是无法分辨我们需要用哪个函数的。重载的依据是要能够让编译器判断我们所想要的函数是什么。
重写 = 覆盖(Override),是指我们在子类中,构造和父类完全一样的函数构造完全一样的函数。覆盖有以下原则:
1、三同原则:同方法名、同返回类型、同参数表。
2、子类中的覆盖方法不能使用比父类中被覆盖的方法更严格的访问权限(public>protected>default>private)。
3、如需使用父类中原有的方法,可使用super关键字,该关键字引用了当前类父类的方法。
覆盖指的是基类和导出类之间的关系。
重载(Overload),指的是我们定义多个名称相同,但是函数签名(参数表)不同的函数。返回类型不能作为重载的依据。如果两个函数仅仅只有返回值不同,参数相同,那么在我们调用的时候编译器是无法分辨我们需要用哪个函数的。重载的依据是要能够让编译器判断我们所想要的函数是什么。
相关文章推荐
- JAVA:重载overload与覆盖(重写)override的区别
- java中的重载、重写(覆盖)和类型转换
- 转:java中覆盖、重写与重载的区别
- 回归基础系列-重载与覆盖(重写)[JAVA]
- 重载、重写(覆盖)、隐藏的区别--Java
- java 继承 多态(override->重写(=覆盖)、overload->重载、polymorphism -> 多态)
- Java 重写(即覆盖Override)与重载(Overload)与多态几个概念的区别分析
- Java中重载与重写(覆盖)的区别
- java基础---方法的重载(overload)和覆盖(重写)(override)
- java中覆盖、重写与重载的区别
- java中覆盖、重写与重载的区别
- Java重写(覆盖)、重载、过载
- Java重载和重写(覆盖)的区别--源码实例
- Java学习之方法重载和方法重写(覆盖)比较
- java中重载和覆盖(又称重写)的区别
- Java中的方法的重载与重写(覆盖)
- Java中覆盖、重写、重载详解
- 黑马程序员_Java函数的重载与重写(覆盖)
- java中Overload(重载)和Override(重写、覆盖)
- java学习之继承、重载、重写(覆盖)