override和overload的区别

host
host
host
33
文章
0
评论
2017年3月12日16:36:42override和overload的区别已关闭评论71

override(重写,覆盖)

  1. 方法名、参数、返回值相同
  2. 子类方法不能缩小父类方法的访问权限
  3. 子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)
  4. 存在于父类和子类之间
  5. 方法被定义为final不能被重写
  6. 被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖
class Fu{
int num = 3;
}
class Zi extends Fu{
int num = 5;
}

overload(重载,过载)

  1. 参数类型、个数、顺序至少有一个不相同
  2. 不能重载只有返回值不同的方法名
  3. 针对于一个类而言
  4. 不能通过访问权限、返回类型、抛出的异常进行重载
  5. 方法的异常类型和数目不会对重载造成影响
public static void main(String[] args){
    System.out.println(add(1,2));
    System.out.println(add(1.11,2.22));
}
//返回一个int类型相加的和
public static int add(int a, int b){
    return a + b;
}
//返回一个double类型想加的和
public static double add(double a, double b){
    return a + b;
}

 

host
  • 本文由 发表于 2017年3月12日16:36:42
  • 转载请务必保留本文链接:https://www.zenook.cn/language/override-overload.html
Python的函数参数传递 Python

Python的函数参数传递

看两个例子: ### 1⃣️ a = 1 def fun(a): a = 2 fun(a) print a # 1 ### 2⃣️ a = def fun(a): a.append(1) fun(a)...
面向对象特性之多态 语言

面向对象特性之多态

多态 多态,即多种状态(形态)。简单来说,我们可以将多态定义为消息以多种形式显示的能力。 多态是以封装和继承为基础的 C++多态分类及实现 重载多态(Ad-hoc Polymorphism,编译期):...
C/C++关键字之inline C/C++

C/C++关键字之inline

特征 相当于把内联函数里面的内容写在调用内联函数处 相当于不用执行进入函数的步骤,直接执行函数体 相当于宏,却比宏多了类型检查,真正具有函数特性 编译器一般不内联包含循环、递归、switch等复杂操作...
C/C++内存分配和管理 C/C++

C/C++内存分配和管理

malloc、calloc、realloc、alloca malloc:申请指定字节数的内存。申请到的内存中的初始值不确定 calloc:为指定长度的对象,分配能容纳其指定个数的内存。申请到的内存的每...