java的三大特性之一重写
来源:互联网 发布:java开发在公司任务 编辑:程序博客网 时间:2024/06/06 01:23
方法的重写:
1、在子类中可以根据需要对从基类中继承来的方法进行重写。
2、重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。(注:返回值可以为父类中返回值的子类型.参数若为子类,则不是重写是重载)
3、重写方法不能使用比被重写的方法更严格的访问权限。
4. 重写方法不能声明抛出比被重写方法范围更大的异常类型。
总结:重写是子类对所继承父类相同方法的一种更改,这个更改需要遵循格式按照父类的格式,访问权限,抛出异常等等,都在父类方法控制范围内,内部具体实现可以实现不同的效果。
通俗一点来说:重写就是对父类的的同一个方法的改写,但是别人怎么知道你这是重写,不是添加的新方法?这就要求格式必须跟父类相同,别人一看,呀,他俩长的一模一样(指的上面2,3,4规则),肯定是重新写了,就是重写。
father.java
package chongxie;public class father { void eat(){ System.out.println("父亲吃了"); }}
son.java
package chongxie;public class son extends father{ void eat() { System.out.println("儿子吃了"); }}
chongxie.java
package chongxie;public class chongxie { public static void main(String[] args) { father father= new father(); son son = new son(); father.eat(); son.eat(); }}
这时子类调用的是自己的方法,这就是重写了。
下面更改一下子类的方法名
son.java
package chongxie;public class son extends father{ void walk() { System.out.println("儿子吃了"); }}
在主函数继续调用eat函数
chongxie.java
package chongxie;public class chongxie { public static void main(String[] args) { father father= new father(); son son = new son(); father.eat(); son.eat(); }}
这时结果变了,调用的是父类的方法。
对于为什么要重写?
重写的话,也能实现代码的多样性。
子类继承了父类之后,调用父类的方法,就不需要重复写,节省代码量。
如果使用条件变更,父类的方法不能满足使用需求,那么你就需要重写方法了,把父类的方法覆盖掉。
接下来可以仔细学习一下多态,也能加深对重写的理解
阅读全文
0 0
- java的三大特性之一重写
- 测试java三大特性之一(继承)的代码
- java的三大特性之一封装讲解与实例
- java的三大特性之一(继承)
- java的三大特性之一(封装)
- java:面向对象的三大特性之一:继承
- Java 浅析三大特性之一封装
- Java 浅析三大特性之一继承
- Java三大特性之一封装
- java-三大特性之一封装性
- java-三大特性之一继承
- java三大特性之一(多态)
- 继承----C++的三大特性之一
- 继承----C++的三大特性之一
- Java 入门 三 (Java三大特性 之一 封装 )
- java基础之三大特性 类的继承和方法重写
- Java的三大特性
- java的三大特性
- cannot import name filter
- 17多校contest 6- 1003 Inversion ( 模拟
- 爬虫
- Package gitlab-ce-9.4.3-ce.0.el6.x86_64.rpm is not signed
- 解决Android 应用方法数不能超过65K的问题
- java的三大特性之一重写
- Git Gui 在 Windows下使用
- Error LNK2001 无法解析的外部符号 的几种情况及解决办法
- BZOJ 4521: [Cqoi2016]手机号码 数位dp
- 软件工程考试题
- Ubuntu14.04下安装jdk1.8+eclipse(JEE版)
- J2EE学习笔记(三)之重定向、转发、超链接及表单提交的区别和路径
- RecyclerView简单实用
- 解决 父层div和子层div点击事件冲突 (冒泡触发的小方法)