重写与重载(摘抄笔记)
重写(Override)
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。
重写的好处:子类可以根据需求,定义自己的与众不同(即子类可以根据需求实现父类的方法)
方法的重写规则:
参数列表必须完全与被重写方法的相同。
返回类型与被重写方法的返回类型可以不相同,但是必须是父类返回值的派生类
访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。
父类的成员方法只能被它的子类重写。
声明为 final 的方法不能被重写。
声明为 static 的方法不能被重写,但是能够被再次声明。
子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。
子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。
构造方法不能被重写。
如果不能继承一个方法,则不能重写这个方法。
重载(Overload)
重载是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。
每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。
重载规则
被重载的方法必须改变参数列表(参数个数或类型不一样);
被重载的方法可以改变返回类型;
被重载的方法可以改变访问修饰符;
重写与重载区别
(1)方法重载是一个类中定义了多个方法名相同,而他们的参数的数量不同或数量相同而类型和次序不同
(2)方法重写是在子类存在方法与父类的方法的名字相同,而且参数的个数与类型一样,返回值也一样的方法
(3)方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。
转载于:https://www.cnblogs.com/bzbz/p/11493719.html
重写与重载(摘抄笔记)相关推荐
- Java继承、重写与重载 笔记
1. Java继承 继承要符合的关系是:is-a,父类更通用,子类更具体. 1.1 继承的特性 子类拥有父类非private的属性,方法. 子类可以拥有自己的属性和方法,即子类可以对父类进行扩展. 子 ...
- C# 继承实现父类方法、重写、重载
继承是派生类(子类)去实现(重写<override>.重构<new>)基类(父类)的方法或属性.从而获取在派生类中要实现的功能. 子类调用父类构造方法,在父类中有个实现姓名和年 ...
- 009-对象—— 构造方法__construct析构方法__destruct使用方法 PHP重写与重载
<?php /**构造方法__construct析构方法__destruct使用方法 PHP重写与重载*/ //构造方法:当实例化对象时,自动运行的方法 /*class channel{func ...
- 【Java基础】重写与重载
为什么80%的码农都做不了架构师?>>> 重写(Override): 定义:在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法.但有时子类并不想原封不动地继承父类 ...
- 重写与重载的区别 以及 重写中super的使用
重写是父类方法与子类方法有共同的参数名参数列表,返回类型必须父类的方法一致.子类的访问修饰符一定要大于等于父类的访问修饰符.如果在子类中还需要用到父类的方法,用super.method() 然后继续写 ...
- Java的重写和重载机制
Java的重写和重载机制 张磊 zhangleispirit@gmail.com Java的重写和重载是两种在Java中经常提到的两组概念,它们在各个方面都有着很大的不同,本文主要在此做一个归纳总结. ...
- float 与 double、隐式类型转换、switch、重写与重载、Java 与 C++ 的区别、JRE or JDK
1.float 与 double 1.1 字面量属于 double 类型,不能直接将 1.1 直接赋值给 float 变量,因为这是向下转型. // float f = 1.1; Java 不能隐式执 ...
- Java基础之重写与重载深入解析
Java详解重写与重载 首语 总结java重写与重载的时候,在菜鸟教程看到很详细的解释,觉得很好,就搬过来了,侵删. url:https://www.runoob.com/java/java-over ...
- Java重载和重写6_深入理解Java中的重写和重载
深入理解Java中的重写和重载 重载(Overloading)和重写(Overriding)是Java中两个比较重要的概念.但是对于新手来说也比较容易混淆.本文通过两个简单的例子说明了他们之间的区别. ...
- Java 重写与重载
方法的重写: 重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变. 重写的好处在于子类可以根据需要,定义特定于自己的行为. 也就是说子类能够根据需要实现父类的方法. 重写 ...
最新文章
- 蓝桥杯国赛-数正方形-java
- 根据值 加密后的值 算出key_Bugku:加密 rsa
- Alluxio 1.5集群搭建
- vue中的config配置
- 03-CA/TA编程:aes_auth demo
- 一道笔试题--求二进制数1的个数
- 第三次学JAVA再学不好就吃翔(part37)--接口概述
- 纯css3实现的鼠标悬停动画按钮
- c# 操作IIS应用程序池
- 【论文学习】Bringing Old Photos Back to Life
- mongodb转mysql思路_脚本 将阿里云 mongodb数据转成mysql
- Java使用OpenCV3.2实现视频读取与播放
- 基于SSM校园一卡通管理系统
- QAM信号的调制解调原理
- 企业微信有定位跟踪吗?企业微信会跟踪员工轨迹记录吗?
- u盘server2012服务器系统安装,如何安装原版Windows server 2012?U盘安装原版Windows server 2012方法...
- C++在指定目录生成txt文件
- kdd99数据集svm分类_使用svm和不平衡的twitter数据集进行三级情感分类的任务
- 【途牛旅游项目】项目环境搭建,实现登陆功能
- win7安装后无声音怎么办
热门文章
- 你为什么成为一名程序员?
- 关于C2100间接寻址的问题
- android 日记 app推荐,用这些 APP 来记录生活,再也不用担心无法坚持写日记
- 修复计算机之后东西还在吗,硬盘分区表修复后文件还在吗
- 解决spring-data-jpa 级联添加时,主表放弃对外键维护时外键字段为null
- c语言编程十进制转八进制算法,C语言十进制如何转八进制?
- 微信多开设置网络代理服务器,微信多开终极技巧,可随意控制数量已亲测很好用...
- Android dialog弹出报错Alert Dialog Unable to add window android.view.ViewRootImpl$W. permission denied
- javascript 实现1加到100
- 读取金山词霸的词库程序