重写与重载总结
来源:互联网 发布:php判断微信是否关注 编辑:程序博客网 时间:2024/06/05 18:58
优效学院,名师执教,学习更优效,IT在线教育领导者。三人行必有我师,人生是需要不断学习的,在这里我们相遇就是缘分,欢迎大家加群----四六零五七零八二四----让我们共同进步!希望各位可以看完这篇文章,也欢迎大家在下面留言讨论,天冷了,也动动手指转发收藏一下,谢谢大家!
重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写,返回值和形参都不能改变。重写的好处在于子类可以根据需要,定义特定于自己的行为。也就是说子类能够根据需要实现父类的方法。
重写规则
当子类对象的重写方法被调用时,无论时通过子类的引用调用还是通过父类的引用调用,运行的是子类的重写后的版本。
参数列表必须完全与被重写方法的相同;
返回类型必须完全与被重写方法的返回类型相同;
访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。
声明为final的方法不能被重写。
声明为static的方法不能被重写,但是能够被再次声明。
子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。
子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法。
构造方法不能被重写。
重载
重载是在一个类里面,方法名字相同,而参数不同,返回类型可以相同也可以不同。
重载规则:
被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
被重载的方法可以改变返回类型;
被重载的方法可以改变访问修饰符;
被重载的方法可以声明新的或更广的检查异常;
方法能够在同一个类中或者在一个子类中被重载。
另外关于重载和重写,你应该知道以下几点:
1、重载是一个编译期概念、重写是一个运行期间概念。
2、重载遵循所谓“编译期绑定”,即在编译时根据参数变量的类型判断应该调用哪个方法。
3、重写遵循所谓“运行期绑定”,即在运行的时候,根据引用变量所指向的实际对象的类型来调用方法
4、因为在编译期已经确定调用哪个方法,所以重载并不是多态。而重写是多态。重载只是一种语言特性,是一种语法规则,与多态无关,与面向对象也无关。(注:严格来说,重载是编译时多态,即静态多态。但是,Java中提到的多态,在不特别说明的情况下都指动态多态)
最后,如果想有一群“臭味相投”的朋友来一起交流学习的话,欢迎大家搜索群460570824,让我们共同进步!
- 重写与重载总结
- 重写与重载总结
- Java重写与重载
- 重载与重写
- 重写与重载 多态
- Java重写与重载
- 重载与重写
- 重载与重写Delphi
- Java重写与重载
- java重载与重写
- 重载与重写
- 重载与重写区别
- 重写与重载
- 重写与重载
- 重载与重写
- 浅谈重载与重写
- 重载 与 重写
- 重载与重写Delphi
- 【iOS开发】打开另一个APP(URL Scheme与openURL)
- js对象、Json对象和Json字符串的区别
- Apache Httpd 2.2配置CA证书,实现Https加密通讯
- 图片抖动(节流)效果
- 四川润易投资有限公司诈骗24万元血汗钱,请大家求职找工作看招聘信息或者理财客户投资的时候注意防范
- 重写与重载总结
- 如何计算double类型的百分比
- 火热轻量级网络框架okhttp3的使用
- 单进程gevent版-TCP服务器(python 版)
- java 值传递和引用传递
- laravel框架整合workerman
- Python split函数
- 文字图片行内垂直居中对齐方法
- 管理系统 前端框架