注意编码规范:java的 内联优化

本文解释了Java中的虚方法概念,即被子类重写的方法。介绍了如何通过重写实现多态性,并对比了C++中虚方法的声明方式。探讨了虚方法调用在运行时解析的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java对象的方法默认是虚方法,因此java鼓励了程序员使用大量的虚方法来完成程序逻辑。

虚方法是什么:

java没有明确的说明什么是虚方法,虚方法是C++来的,java虚方法可以认为是i

java中所有被override 重写的方法都是虚函数。

那么,java的虚方法就是出现在java的多态特性中,

父类与子类之间的多态性,对父类的函数进行重新定义。如果子类中

定义某方法与其父类拥有相同的名称和参数,那么我们说该方法

被重写。在java中 子类可以继承父类方法,而不需要重新编写相同的

方法。但是有时候子类并不想原封不动地继承父类的方法,而是想做

一定的修改,这就需要重写。


那么对于C++虚方法是什么?

1.可在任何方法上添加virtual,例:virtual void play(); 
2.继承性:一旦基类中为虚函数,子类将不会为非虚函数 
3.优缺性:声明虚方法除了使程序慢一点点以外,没有任何缺点

因为当我们使用基类的引用或指针调用基类中定义的某个函数时,我们并不知道该函数真正的对象是什么类型(属于哪个类),因为它可能是一个基类的对象,也可能是一个子类的对象,所以总结得:对虚函数调用运行时才被解析,对非虚函数调用时编译时就被解析了




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值