方法表集合的整体理解

2021-08-11  本文已影响0人  Shaw_Young

methods:指向常量池索引集合,它完整描述了每个方法的签名

使用注意事项

在Java语言中,要重载(Overload)一个方法,除了要与原方法具有相同的简单名称之外,还要求必须拥有一个与原方法不同的特征签名,特征签名就是一个方法中各个参数在常量池中的字段符号引用的集合,也就是因为返回值不会包含在特征签名之中,因此Java语言里无法仅仅依靠返回值的不同来对一个已有方法进行重载。但在Class文件格式中,特征签名的范围更大一些,只要描述符不是完全一致的两个方法就可以共存。也就是说,如果两个方法相同的名称和特征签名,但返回值不同,那么也是可以合法共存于同一个class文件中。

也就是说,尽管Java语法规范并不允许在一个类或者接口中声明多个方法签名相同的方法,但是和Java语法规范相反,字节码文件中却恰恰允许存放多个方法签名相同的方法,唯一的条件就是这些方法之间的返回值不能相同。

梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。

上一篇 下一篇

猜你喜欢

热点阅读