【java面试题】-java重写和重载的区别

简介: java重写和重载的区别

Java中的"重写"(Override)和"重载"(Overload)是两个不同的概念,用于实现不同类型的方法多态性。

  1. 重写(Override):
  • 重写是指在子类中重新定义(覆盖)父类中已经存在的方法,使得子类可以提供自己的实现。子类中的重写方法必须具有相同的方法名、参数列表和返回类型,以及更具体的访问权限(不能降低访问权限)。
  • 重写关注于子类对父类方法的重新实现,使得在运行时调用方法时,根据对象的实际类型决定调用的是父类方法还是子类重写的方法。
  • 重写方法可以实现多态性,即通过父类引用指向子类对象,并在运行时根据对象的实际类型调用相应的方法。

示例:


classAnimal {
publicvoidmakeSound() {
System.out.println("Animal makes a sound");
    }
}
classCatextendsAnimal {
@OverridepublicvoidmakeSound() {
System.out.println("Cat meows");
    }
}
  1. 重载(Overload):
  • 重载是指在同一个类中可以定义多个具有相同名称但参数列表不同的方法。这些方法在名称相同的情况下,通过不同的参数个数、类型或顺序进行区分。
  • 重载关注于同一个类中方法的多样性,允许在一个类中根据不同的需求提供多个方法,但方法名必须相同,方法的返回类型可以相同也可以不同。
  • 重载不涉及继承关系,只是在同一个类中对方法的多态性支持。

示例:

classCalculator {
publicintadd(inta, intb) {
returna+b;
    }
publicdoubleadd(doublea, doubleb) {
returna+b;
    }
}

总结:重写(Override)指子类重新定义父类中已有的方法,实现方法的多态性;重载(Overload)指在同一个类中定义多个方法,它们的方法名相同但参数列表不同,提供方法的多样性。重写涉及继承,而重载仅在同一个类中发生。

目录
相关文章
|
18天前
|
Java 程序员
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
小米,29岁程序员,分享了一次面试经历,详细解析了Java中&和&&的区别及应用场景,展示了扎实的基础知识和良好的应变能力,最终成功获得Offer。
45 14
|
16天前
|
Java 关系型数据库 数据库
京东面试:聊聊Spring事务?Spring事务的10种失效场景?加入型传播和嵌套型传播有什么区别?
45岁老架构师尼恩分享了Spring事务的核心知识点,包括事务的两种管理方式(编程式和声明式)、@Transactional注解的五大属性(transactionManager、propagation、isolation、timeout、readOnly、rollbackFor)、事务的七种传播行为、事务隔离级别及其与数据库隔离级别的关系,以及Spring事务的10种失效场景。尼恩还强调了面试中如何给出高质量答案,推荐阅读《尼恩Java面试宝典PDF》以提升面试表现。更多技术资料可在公众号【技术自由圈】获取。
|
1月前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
2月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
27 5
|
2月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
169 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
|
2月前
|
前端开发 小程序 JavaScript
面试官:px、em、rem、vw、rpx 之间有什么区别?
面试官:px、em、rem、vw、rpx 之间有什么区别?
58 0
|
存储 Java 程序员
Java面试题日积月累(数据库30道)
Java面试题日积月累(数据库30道)
70 0
|
5月前
|
SQL 安全 Java
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
Java面试题:什么是JDBC以及如何在Java中使用它进行数据库操作?
55 0
|
5月前
|
druid Java 数据库连接
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
Java面试题:解释数据库连接池的概念及其作用,讨论常见的连接池实现。
93 0
|
5月前
|
SQL Java 关系型数据库
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
Java面试题:描述JDBC的工作原理,包括连接数据库、执行SQL语句等步骤。
71 0