掌握java方法覆盖的实现方法
2023-04-04 10:30:03
在之前的学习中,我相信你已经学会了java方法重载相关知识点,当代码在同一类别中,方法名称相同,类型、数量和顺序等参数列表不同时,构成方法重载。那么,当代码和程序满足什么条件时,它们可以是java语言中覆盖使用方法?java方法覆盖它是如何实现的?
首先,我们来看看什么是java方法覆盖,方法覆盖的概念是什么,java方法覆盖也叫重写,这两个名字的意思是一样的。如果在子类中定义一种方法,其名称、返回类型和参数签名与父类中某种方法的名称、返回类型和参数签名相匹配,则可以说子类方法覆盖了父类方法,称为java方法覆盖。总结java方法的覆盖,即重写的概念,有五点内容:在子类中重写父类的实例方法;子类方法必须与父类方法名称一致;参数列表一致;返回类型相同或父类方法返回类型的子类型;访问修饰符的范围不能缩小。
当父类继承的方法不能满足当前子类业务的需要时,需要覆盖父类继承的方法。换句话说,父类继承的方法是不够的。子类有必要重写这种方法。当该方法重写时,子类对象将调用重写后的方法。基于此使用java方法覆盖的场景,看一段代码,更清楚地了解java方法覆盖是如何使用的。
定义动物类,所有动物都有移动行为,其中猫类对象在移动时输出“猫在走猫步!”,鸟类类型的对象在移动时输出“鸟儿在飞!”,但猫型对象有一种特殊的行为,抓老鼠,这种行为并非所有的动物对象都有,而是猫型对象独有的,代码如下:public class Animal { public void move(){ System.out.println(动物在移动!"); } } public class Cat extends Animal{ public void move(){ System.out.println("猫在走猫步!"); } public void catchMouse(){ System.out.println(猫抓老鼠!"); } } public class Bird extends Animal{ public void move(){ System.out.println(鸟儿在飞!"); } } public class Test { public static void main(String[] args) { Cat cat = new Cat(); cat.move(); cat.catchMouse(); Bird bird = new Bird(); bird.move(); } }
代码程序运行的最终结果是:
猫在走猫步!
猫抓老鼠!
鸟儿在飞!
对综上所述,当父亲继承的方法不能满足当前子公司的业务需求时,子公司有必要覆盖/重写父亲继承的方法。方法覆盖发生在具有继承关系的父子之间。方法覆盖时,需要相同的返回值类型、相同的方法名称和相同的形式参数列表。方法覆盖后,子类对象在调用时必须执行覆盖后的方法。需要注意的是在在java方法的覆盖范围内,有三种不能重写:不能重写结构方法;静态方法不能重写;私有方法不能重写。
以上内容是对的java方法涵盖(重写)概念和实现方法以及一些注意事项的介绍,希望大家java程序员和通过本文,java学习者可以对java方法的覆盖有更全面的了解,同时区分java方法的重载和java方法的覆盖,并熟练地使用java方法来编写代码编程程序。