作者:小牛呼噜噜 | https://xiaoniuhululu.com大家好,我是呼噜噜,好久没更新文章了,今天我们来填个坑,在之前的一篇文章深挖⾯向对象编程三⼤特性 --封装、继承、多态中
计算机内功、源码解析、科技故事、项目实战、面试八股等更多硬核文章,首发于公众号「小牛呼噜噜」
重载指的是方法名相同而参数类型不相同的方法之间的关系,重写指的是方法名相同并且参数类型也相同的方法之间的关系需要注意的是:本文一直在说程序在运行期间发生的事,而方法调用在静态阶段(编译)以声明的静态类型为准,不管符号引用指向的是哪个实例对象。编译成字节码再进入JVM,进行类加载
非虚方法:如果方法在编译期就确定了具体的调用版本,则这个版本在运行时是不可变的,这样的方法称为非虚方法静态方法。当Java中发生向上转型,呈现重写式多态时,如果子类没有重写父类方法,子类并不会复制一份父类的方法到自己的虚方法表中,就会去父类的虚方法表中查找 目标方法。
比如私有方法,final 方法,实例构造器,父类方法都是非虚方法,除了这些以外都是虚方法
欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) | Powered by Discuz! X3.4 |