您的位置:首页 > 其它

override(重写,覆盖)和overload(重载,过载)的区别

2018-10-08 22:27 525 查看

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;
}
阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: