1、重载是在同一个类中,可声明多个同名方法,但参数列表不同(参数顺序,个数,类型)。而重写是在子类中,对从父类中继承的方法进行重新编写,但方法名,参数列表(参数顺序,个数,类型),返回值类型必须保持一致。

2、重载实现的是编译时的多态性,而重写实现的是运行时的多态性。

3、重载可以抛出不同的异常, 而重写可以减少或删除,但一定不能抛出新的检查异常。

4、重载可以有不同的访问权限修饰符, 而重写不能拥有比父类方法更加严格的访问权限修饰符。

举例:

重载

    // 重载:方法名相同 参数不同
public void setStudentInfo(int id, String name){
this.id = id;
this.name = name;
}
public void setStudentInfo(int id, String name, String email){
this.id = id;
this.name = name;
this.email = email;
}

打印结果

学生ID:301  姓名:Jack
学生ID:702 姓名:Jack Ma 邮箱:702@qq.com

重写

假设有Person类

class Person {
public void show(String name) {
System.out.print(name + "会唱歌");
}
}

在重写show方法时要继承父类Person,且参数列表(参数顺序,个数,类型),返回值类型都要保持一致。

public class Student extends Person{
public void show(String name){
//重写父类Person的show(String name)方法
System.out.print(name+"不仅会唱歌,还会跳舞!");
};
public static void main(String[] args) {
Student s1 = new Student();
s1.show("Pony");
}
}

打印结果

Pony不仅会唱歌,还会跳舞!

Java面试 - 重载(Overload)和重写(Override)的区别?的更多相关文章

  1. 【Java】重载(Overload)与重写(Override)

    方法的语法 修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; } 重载(overload) /** * 重载Overload: * 同一个类中,多个方法 ...

  2. 抽象方法(abstract method) 和 虚方法 (virtual method), 重载(overload) 和 重写(override)的区别于联系

    1. 抽象方法 (abstract method) 在抽象类中,可以存在没有实现的方法,只是该方法必须声明为abstract抽象方法. 在继承此抽象类的类中,通过给方法加上override关键字来实现 ...

  3. Java方法多态性——方法的重载Overload和重写Override

    方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现,重写是父类与子类之间多态性的一种表现,重载可以理解成多态的具体表现形式. 重写(Override) 重写是 ...

  4. 重载overload 、重写override

    观点:重载和重写完全没有关系要联系到一起,唯一的联系就是他们都带有个'重'字,所以鄙人也随大流把他们放在了一起 注意:下面可复制的代码是正确的,错误的只会上传图片,不上传可复制的代码 重载 1.在同一 ...

  5. Java中重载(overloading)和重写(Overriding)的区别

    一:方法的重载 (1)方法重载指在类中定义方法名相同,参数不同的不同的多个方法(返回值类型可随意,不能以返回类型作为重载函数的区分标准). 参数不同表现: 1.参数的个数不同 2.参数的类型不同 3. ...

  6. C++ 重载(overload)、重写(overrride)、重定义(redefine)总结

    引自:http://www.189works.com/article-42111-1.html 先来看几个概念: 重载(overload),重写(override,也称覆盖), 重定义(redefin ...

  7. JAVA中继承时方法的重载(overload)与重写/覆写(override)

    JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就 ...

  8. 方法的覆盖(override)、重载(overload)和重写(overwrite)

    body { background-color: white } .markdown-body { min-width: 200px; max-width: 760px; margin: 0 auto ...

  9. 【转】重载(overload),覆盖(override),隐藏(hide)的区别

    原文网址:http://www.cppblog.com/zgysx/archive/2007/03/12/19662.html 写正题之前,先给出几个关键字的中英文对照,重载(overload),覆盖 ...

随机推荐

  1. 每秒浮点运算次数flops

    每秒浮点运算次数[编辑] 维基百科,自由的百科全书     跳到导航跳到搜索 此条目需要补充更多来源. (2018年2月28日)请协助添加多方面可靠来源以改善这篇条目,无法查证的内容可能会因为异议提出 ...

  2. ROS手动编写消息发布器和订阅器topic demo(C++)

    1.首先创建 package cd ~/catkin_ws/src catkin_create_pkg topic_demo roscpp rospy std_msgs 2. 编写 msg 文件 cd ...

  3. try except else finally

    try..except..else没有捕获到异常,执行else语句 try..except..finally不管是否捕获到异常,都执行finally语句

  4. CF590E Birthday

    题意 给定 \(n\) 个只由 \(a,b\) 组成的字符串,保证两两不同. 要求从中选出尽可能多的字符串,使得选出的字符串中,任意一个字符串不是另一个的子串. 求最多能选多少并输出一个可行解. \( ...

  5. zabbix (5) 用户、主机等创建

    1.创建新用户: 管理---> 用户--->创建用户 在右上角用户群组这里可以按下拉菜单,为某个组创建用户,默认是all 点击创建用户以后,出现如下图: 2.创建组 管理--->用户 ...

  6. 从服务端下载文件到本地windows

    之前常使用本地ubuntu和远程的centos服务器或者是本地mac和远程centos服务器通过命令scp或者nc来进行文件的传输. 现在用的是windows系统,欲将服务器的某文件load到本地. ...

  7. legend3---lamp.sh常用操作

    legend3---lamp.sh常用操作 一.总结 一句话总结: 1.github上下载代码 2.修改项目数据库配置,修改文件权限等操作:chown -R apache:apache /data/w ...

  8. Linux中强大的top命令

    top命令算是最直观.好用的查看服务器负载的命令了.它实时动态刷新显示服务器状态信息,且可以通过交互式命令自定义显示内容,非常强大. 在终端中输入top,回车后会显示如下内容:   top - 21: ...

  9. .htaccess文件常见到[QSA][NC][L][R][F]的意思

      .htaccess文件常见到[QSA][NC][L][R][F]几个字符在代码末尾,下边列出它们在静态规则中的作用,以备参考.   NC : no case,不区分大小写,忽略大小写: L : l ...

  10. Java工作笔记:工作中使用JNA调用C++库的一些细节(转载)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/zjutzmh/article/detai ...