美文网首页
java面试方法的覆盖

java面试方法的覆盖

作者: pr0metheus | 来源:发表于2018-03-24 22:18 被阅读0次

笔试代码如下:

public class Test {

    public static void main(String[] args) throws Exception{
        Parent p = new Child();
        p.output();
    }
}


class Parent {
    public void output() throws NullPointerException {
    }
}

class Child extends Parent{

    public void output() throws  Exception{
    }
}

问:是否能够编译通过?

答:编译通不过。需要知道如下几个知识点:

  • 方法覆盖(override)是发生在子类与父类之间的
  • 能够实现方法覆盖的条件是:子类中的方法与父类中的方法有相同的方法名称,相同的参数列表的情况下,子类中的方法的访问级别不能低于父类中该方法的访问级别,子类中的方法抛出的异常范围不能大于父类中该方法抛出的异常范围,(注:子类可以不抛出异常),子类中的返回值要与父类中该方法的返回值相同或者是它的子类,满足上述条件可以实现方法覆盖。

补充知识点:

异常继承体系如下图:

exception.png

相关文章

  • java面试方法的覆盖

    笔试代码如下: 问:是否能够编译通过? 答:编译通不过。需要知道如下几个知识点: 方法覆盖(override)是发...

  • 基本概念术语

    6.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思? Java中的方法...

  • 2018-06-05

    1、 在Java中,方法覆盖(重写)的规则: 在子类中的覆盖方法与父类中被覆盖的方法应具有:相同的方法名相同的参数...

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • Java基础_方法的覆盖(重写)

    关于java语言中方法的覆盖: 1、方法的覆盖又被称为方法重写,英语单词:override【官方的】overwri...

  • java面试题--持续更新3

    10.Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思? Java中的方...

  • Java重要知识点(一)

    JAVA知识点 Java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思? Ja...

  • java-方法的覆盖

    概述: 希望子类中的方法依然和父类方法的声明形式一样,但是具体方法体却不同,这种做法就叫做方法覆盖也叫方法重写 方...

  • Java自学-接口与继承 隐藏

    Java中的方法隐藏 与重写类似,方法的重写是子类覆盖父类的对象方法 隐藏,就是子类覆盖父类的类方法 步骤 1 :...

  • 2019Android高级面试题汇总

    一、java面试题 (一) java基础面试知识点 说说java中堆、栈、方法区? 说说java GC原理? ja...

网友评论

      本文标题:java面试方法的覆盖

      本文链接:https://www.haomeiwen.com/subject/amdccftx.html