【Java随笔】 Java中的方法原型(method prototype)

首先声明,Java中不存在“方法原型”的官方正式定义

近日在Android官方有关dex文件格式的文档中发现有method prototype的出现,以前只在c中见过function prototype,那么method prototype是什么呢?

根据Stack Overflow上的相关问题,总结一下:

  • Java规范中不存在“方法原型”这个词
  • 还是有人会使用“方法原型”这个词的,尤其是C、C++开发者
  • 以C为例,为了在一个函数实现之前使用他,可以在使用前先写一个“函数原型”,使用之后再实现这个函数
  • Java中的“方法原型”如果没理解错的话一般指 接口中定义的方法、抽象方法
  • 原型需要从字面意义去理解:定义了框架+未完成

在Android官方那篇文章中,dex文件中的method prototype有着不同的含义

  • Dex中的method prototype指的是方法的“框架”,剥离所有的额外信息,比如访问权限、方法名、参数名
  • 举例:public int getInt(String s)对应的method prototype是:int (String)
  • public int getInt(String s)与public int getInt2(String s)的method prototype是一样的

总而言之,没有绝对的事情,凡是都要考虑上下文

如果错误欢迎批评指正
知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

posted @ 2015-03-24 14:37  Moeeroid  阅读(699)  评论(0编辑  收藏  举报