本文包括“ Java常见测试问题”:https://gitee.com/mydb/interview
在面向对象的编程中,覆盖是一种语言特征,它是多态性的特定表现。数字必须与父类一致,这是方法重写。
该方法的最简单示例如下,定义了父母的父亲和子类儿子。父类中有一个方法方法,该方法方法将在子类中重写以实现代码,如下所示。父级父亲实现代码如下:
子类方法写在子类中,特定的实现代码如下:
调用程序中的方法方法。特定的实施代码如下:
以下图表显示了上述程序的执行结果:但是,在重写该方法的过程中,需要注意以下问题。
Java中的权限控制符号的级别如下:
公共>受保护>否>私人
如果父类中的方法定义了受保护的控制符号,则特定的实现代码如下:
然后,此时,如果子类重写父方法,则定义的权限控制符号将报告一个错误,如果它们小于受保护,如下图所示:然后,问题来了,可以在该问题中,可以子类变得更大吗?答案是肯定的,如下图:结论:当重写父类的方法时,重写方法的授权不会变小,它可能等于或大于权限控制符号大于父母。
在谈论这一预防措施之前,让我们看一下前面的知识。在Java语言中,数字类是Long的父类。继承关系如下图所示:
接下来,我们使用父类中的数字类型来表示该方法的返回类型:
在实现子类实现的实现中,数字类型长类型的使用通常可以重写父类方法,如下图所示:当然,也可以保留父类的类型。如下图所示,如下图所示:但是,如果您尝试在子类中进行返回类型,则将报告一个错误,如下图所示(对象是数字的父类):
如果在子类中抛出异常异常的类型变得更大,也就是说,子类方法中抛出的异常类型大于父母类方法抛出的异常类型,则该程序将报告错误,如图所示,如图所示。下图:此时正确的解决方案是目前的解决方案:当时的正确解决方案,请保持父和子类抛出的异常类型,如下图所示:
如果重写子类的方法与父类不一致,则该程序还将报告一个错误,如下图所示:
子类中的方法参数类型和数字必须与父类方法一致,否则将报告错误,如下图所示。
该方法的参数类型不一致
该方法的参数数量不一致
本文介绍了在Java中重写该方法的方法(覆盖)是重新定义子类中父类的过程。它是面向对象的编程中多态性的特定表现。我们可以通过@override关键字重写父类中的方法,但是在重写过程中,您需要注意以下5个问题:
参考材料:“代码效率”
正确和非审判,破坏其声誉并迷失。
公共帐户:Java中国社区