2024年Java基础 方法重载和覆盖的区别

Java基础 方法重载和覆盖的区别覆盖 定义 发生在继承关系里面 通过 vitrual 和 override 进行实现 函数名和参数相等 代码如下 运行后得到的结果是 vitrual 函数定义在父类里面 override 定义在子类里面 注意函数名和参数要一样

大家好,我是讯享网,很高兴认识大家。



覆盖

定义:发生在继承关系里面,通过vitrual和override进行实现,函数名和参数相等。

代码如下:

 
讯享网 

运行后得到的结果是:

vitrual 函数定义在父类里面,override定义在子类里面,(注意函数名和参数要一样),在调用子类的函数时,如果没有override函数则运行父类的函数,如果有则运行子类的函数。

这个的作用很大,比如在设计敌人的时候,我们希望大部分敌人的一些函数相同,但是有些特殊的敌人需要修改,我们就可以进行这个函数的修改,提高了代码的可维护性。

重载

定义:任何关系里面都可以发生,只要函数名一致,参数不一致。

讯享网

这个就是重载,也就是在多个同名函数,但是参数不一致,这个可以发生。

结果:

Java基础 方法重载和覆盖的区别

运用的地方同样很多,这里就不赘述了。

this和base

this.变量名,和base.变量名,用法就是这样,大致讲解,this.变量名讲的是所在类的变量,base.变量名讲的是父类的变量,主要是为了区别如果子类和父类定义的变量名相等了,用于区别,这里就不附上代码演示了,自己尝试一下就理解了。

小讯
上一篇 2024-12-28 13:07
下一篇 2024-12-29 19:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/7724.html