NTL01 不愧是黑魔法,看了大半,看不下去了 😑 。作者也是真的强,从他的批注里学到了很多。
我貌似没发现作者有提到重载的事情,他主要比较了三种方法调用:
- Static 方法
- Abstract 方法的实现
- Interface 方法的实现
总的来说,去了解这些细微的差异基本没必要,就图一乐吧 🤪
作者对单个实现、两个实现和多个实现做了非常非常充分的比较和解释说明,我这简单概括一下:
- 能用 Static 就用 Static,因为它是最容易被内联优化的
- 在 Abstract 和 Interface 中作选择时,倾向于选择 Abstract,因为 C2 编译器对 Abstract 方法的调用有 CHA(Class Hierarchy Analysis) 优化,在只有单个实现时,它能察觉到并内联优化,而 Interface 则没有