【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)指在同一个类中定义多个方法,它们的方法名相同但参数列表不同,提供方法的多样性。重写涉及继承,而重载仅在同一个类中发生。

目录
相关文章
|
10天前
|
安全 架构师 Java
Java大厂面试高频:Collection 和 Collections 到底咋回答?
Java中的`Collection`和`Collections`是两个容易混淆的概念。`Collection`是集合框架的根接口,定义了集合的基本操作方法,如添加、删除等;而`Collections`是一个工具类,提供了操作集合的静态方法,如排序、查找、同步化等。简单来说,`Collection`关注数据结构,`Collections`则提供功能增强。通过小王的面试经历,我们可以更好地理解这两者的区别及其在实际开发中的应用。希望这篇文章能帮助你掌握这个经典面试题。
28 4
|
10天前
|
监控 Dubbo Java
Java Dubbo 面试题
Java Dubbo相关基础面试题
|
10天前
|
SQL Java 数据库连接
Java MyBatis 面试题
Java MyBatis相关基础面试题
|
10天前
|
存储 监控 算法
Java JVM 面试题
Java JVM(虚拟机)相关基础面试题
|
10天前
|
SQL 监控 druid
Java Druid 面试题
Java Druid 连接池相关基础面试题
|
10天前
|
缓存 安全 算法
Java 多线程 面试题
Java 多线程 相关基础面试题
|
1月前
|
Java
Java社招面试题:& 和 && 的区别,HR的套路险些让我翻车!
今日分享的主题是如何区分&和&&的区别,提高自身面试的能力。主要分为以下四部分。 1、自我面试经历 2、&amp和&amp&amp的不同之处 3、&对&&的不同用回答逻辑解释 4、彩蛋
|
5月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
2月前
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
本文介绍了多线程环境下的几个关键概念,包括时间片、超线程、上下文切换及其影响因素,以及线程调度的两种方式——抢占式调度和协同式调度。文章还讨论了减少上下文切换次数以提高多线程程序效率的方法,如无锁并发编程、使用CAS算法等,并提出了合理的线程数量配置策略,以平衡CPU利用率和线程切换开销。
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
|
2月前
|
存储 算法 Java
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?
本文详解自旋锁的概念、优缺点、使用场景及Java实现。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
大厂面试高频:什么是自旋锁?Java 实现自旋锁的原理?

热门文章

最新文章