• 技术文章 >Java >Java入门

    什么是java的重写

    (*-*)浩(*-*)浩2019-11-09 11:37:26原创2058

    java的重写(Override) (推荐学习:java课程

    重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!

    重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。

    重写方法不能抛出新的检查异常或者比被重写方法申明更加宽泛的异常。

    例如:

    父类的一个方法申明了一个检查异常 IOException,但是在重写这个方法的时候不能抛出 Exception 异常,因为 Exception 是 IOException 的父类,只能抛出 IOException 的子类异常。

    在面向对象原则里,重写意味着可以重写任何现有方法。实例如下:

    class Animal{
       public void move(){
          System.out.println("动物可以移动");   }}
     class Dog extends Animal{
       public void move(){
          System.out.println("狗可以跑和走");   }}
     public class TestDog{
       public static void main(String args[]){
          Animal a = new Animal(); // Animal 对象
          Animal b = new Dog(); // Dog 对象
     
          a.move();// 执行 Animal 类的方法
     
          b.move();//执行 Dog 类的方法
       }}

    以上实例编译运行结果如下:

    动物可以移动
    狗可以跑和走

    在上面的例子中可以看到,尽管b属于Animal类型,但是它运行的是Dog类的move方法。

    这是由于在编译阶段,只是检查参数的引用类型。

    然而在运行时,Java虚拟机(JVM)指定对象的类型并且运行该对象的方法。

    以上就是什么是java的重写的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java
    上一篇:什么是java内部类 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • Java IO知识点• Java之String、StringBuffer和StringBuilder的区别和原理• Java中的快速排序• Java8新特性的lambda,函数式接口,StreamingAPI
    1/1

    PHP中文网