【重载和重写的区别】
重载和重写有什么区别?
重载(Overload)
在一个类中,具有相同的方法名,但是方法参数不同,返回值类型可以相同也可以不同。
- 被重载的方法必须改变参数列表(参数个数或者类型不一样)
- 被重载的方法可以改变返回类型
- 被重载的方法可以改变访问修饰符
- 被重载的方法可以声明新的或更广的检查异常
- 方法能够在同一个类中或者在一个子类中被重载
- 无法以返回值类型作为重载函数的区分标准
重写(override)
一般都是表示子类和父类之间的关系,其主要的特征是:方法名相同,参数相同,但是具体的实现不同。
- 参数列表与被重写方法的参数列表必须完全相同
- 返回类型与被重写方法的返回类型可以不同,但是必须是父类的返回值的派生类
- 访问权限不能比父类中被重写的方法的访问权限低。
- 父类的成员变量只能被它的子类重写。
- 声明为final的方法不能被重写。
- 声明为static的方法不能被重写,但是能被再次声明
- 子类和父类在同包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。
- 构造方法不能被重写
- 如果不能继承一个类,则不能重写该类的方法
- 重写的方法能抛出任何非强制异常,无论被重写的方法是否抛出异常.但是,重写的方法不能抛出新的强制性的异常,或者比被重写方法声明的更广泛的强制性异常,反之可以。
构造器可以被重写和重载吗?
一个类的构造器不能被继承,所以它不能被重写。
一个类里面有多个构造器,所以它能被重载。
main方法可以被重写和重载么?
可以重载,但是JVM将始终调用原始的main方法,而永远不会调用重载的main方法。
不能重写,因为main方法是静态的,而static方法在java中不能被覆盖。
私有方法能被重载或者重写吗?
可以重载,不能重写。
静态方法能被重载或者重写么?
静态方法可以被重载:一个类可以存在多个同名但不同参数的static方法
静态方法不可以被重写:如果子类也定义了同样的,会被子类同名的静态变量,静态方法所隐藏。
【重载和重写的区别】相关推荐
- C++中重载与重写函数区别及虚函数(转载)
C++中重载与重写函数区别及虚函数 C++中的虚函数(virtual function) 1.简介 虚函数是C++中用于实现多态(polymorphism)的机制.核心理念就是通过基类访问派生类定义的 ...
- java 可以重载等于号码_Java面试之Java基础4——重载与重写的区别
目录 重载与重写的概念 重载与重写的区别 重载与重写的总结 构造器是否能被重写override 为什么函数不能根据返回类型来区分重载 重载与重写的概念 重载:同样一个方法可以根据输入参数列表的不同,做 ...
- 开课吧-Java常见面试题:重载和重写的区别?
重载和重写的区别? 方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性. 重载发生在一个类中,同名的方法如果有不同的参数列表(类型不同.个数不同.顺序 ...
- C#重载和重写的区别
C#重载和重写的区别 重载就是在同一个类中,方法名相同,参数列表不同.参数列表不同包括:参数的个数不同,参数类型不同等. 重载特征: I.方法名必须相同 II.参数列表必须不相同,与参数列表的顺序无 ...
- 继承、多态,重载、重写的区别与总结
什么是多态?它的实现机制是什么呢?重载和重写的区别在那里?这就是这一次我们要回顾的四个十分重要的概念:继承.多态.重载和重写. 继承(inheritance) 简单的说,继承就是在一个现有类型的基础上 ...
- JAVA中重写和实现的区别_Java中重载和重写的区别
Java中重载和重写的区别 1.1重载是什么 Overloading 方法重载是让类以统一的方式处理不同类型数据的一种手段,多个同名函数同时存在,具有不同的参数个数/类型 1.2为什么用重载 重载 ...
- 重载和重写的区别有哪些?
重载和重写的区别有以下几点: 一.定义上的区别: 1.重载是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同.调用的时候根据函数的参数来区别不同的函数. 2.覆盖(也叫重写)是指在派生类中重 ...
- C#重载与重写的区别
前言:在之前的博文中,我总结过重载与重写的区别与用法,本博文算是一个系统的概述与总结. 文章目录 一.重载与重写的区别 二.重载与重写的特征 三.重载与重写的对比 一.重载与重写的区别 重载必须在同一 ...
- java中重载与重写的区别
最近了解一下重载和重写 一.重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading ...
- 二十三、Java类中重载和重写的区别
@Author:Runsen @Date:2020/5/31 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排 ...
最新文章
- 计算机显卡敀主要性能参数,显卡性能看什么参数(新手必备的显卡性能知识全解)...
- jvisualvm.exe使用时涉及的配置、使用方式
- 考研失败了,该何去何从?
- 阿里巴巴右侧6滑块VS雅虎右侧6滑块VS自定义6滑块
- 编程实现 有符号乘法溢出判断
- 驱动依赖_自噬依赖的分泌因子的产生促进致癌RAS驱动的侵袭
- 俄罗斯方块的那些事:1.概要
- Advanced Graphics and Animations for iOS Apps
- The Semantics of Constructors(拷贝构造函数之编译背后的行为)
- 批量下载CSS中的图片
- unix下c语言recv函数,Linux send与recv函数详解
- Java文件操作——简单文件搜索
- Python版剑指Offer题解
- 发展战略-以技术为导向还是以产品为导向的方向选择?
- 热敏电阻PTC和NTC的区别
- 打印101~150之间的质数
- Endnote X9.1 参考文献悬挂缩进
- python中的连乘_python连乘
- 3GPP TS 23501-g51 中英文对照 | 4.2.10 Architecture Reference Model for ATSSS Support
- 别闹,你真的会发邮件吗?