【Java】重写和重载的区别

简介: 【Java】重写和重载的区别

1. 简介

题主这两天笔试,经常遇到这个问题,一直以来也没有好好的整理过,今天来个一次性的整理

2. 分析

重载:Override

同一个类,参数列表不同,不能只通过返回值看待是否为重载

  • 发生在同一个类
  • 相同的方法名
  • 参数列表不同
  • 不看返回值,如果出现了只有返回值不同的“重载”,是错的。

正确示范

错误示范

重写:Overload

准确的来说,就是只有方法体进行改变,其他不变,且子方法的修饰符要小于父类的修饰符

  • 发生在子类与父类中
  • 相同的方法名
  • 相同的参数列表
  • 返回值相同 或者 子类方法的返回值是父类方法返回值类型的子类
  • 访问修饰符相同 或者 子类方法的修饰符范围 大于 父类
  • 抛出的异常相同 或者 子类方法抛出的异常 小于父类

错误示范:

访问修饰符的大小

public > protected > default > private


相关文章
|
1天前
|
JavaScript 前端开发 Java
Java和JavaScript区别与联系
Java和JavaScript区别与联系
7 0
|
5天前
|
Java 编译器
Java的重载与重写的区别
Java的重载与重写的区别
|
5天前
|
Java
Java的接口与抽象类的区别
Java的接口与抽象类的区别
|
5天前
|
Java 开发者
Java的方法的重载
Java的方法的重载
|
8天前
|
消息中间件 Java 调度
Java多线程基础-3:进程与线程间的区别的联系
进程是操作系统中运行的应用程序,具有独立内存空间,包含代码、数据和堆栈,是资源分配的最小单位,而线程是CPU调度的最小单位,是进程内的执行任务,多个线程可共享进程资源。
19 0
|
8天前
|
人工智能 Java 开发者
Python与Java:两大编程语言的联系与区别
Python与Java:两大编程语言的联系与区别
|
8天前
|
Java
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法...
<Java>逻辑控制,方法详解,重载,牛客习题,IDEA调试方法
15 0
|
12天前
|
存储 安全 Java
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
java面试基础 -- ArrayList 和 LinkedList有什么区别, ArrayList和Vector呢?
19 0
|
12天前
|
缓存 安全 Java
Java的Integer和int有什么区别?
Java的Integer和int有什么区别?
12 1
|
20天前
|
Java
【Java开发指南 | 第二十五篇】Java 重写(Override)与重载(Overload)
【Java开发指南 | 第二十五篇】Java 重写(Override)与重载(Overload)
12 1