我的一个同样学习Java的 friend 问我:“Java中的方法规范和方法签名有什么区别?”
我知道什么是方法签名,它是方法名称及其参数 - methodName(int n, String str)
例如
但是 Java 中的方法规范到底是什么?
我在互联网上找到的所有内容都是pdf-file仅有的。有关方法规范的信息如下:
- 定义该方法的包和类的名称。
- 用于调用它的方法标识符。
- 其参数;即您必须将哪些数据作为参数传递。
- 它的作用及其返回值(如果有)。
- 无论是实例还是类方法
因此,据我了解,方法规范包括包名称(package com.site.progect
例如)、方法签名(methodName(int n, String str)
)、访问说明符(private
、protected
、默认或public
)、返回值类型、static
标识符(如果该方法是静态的并且不属于实例)。
方法规范是否包含定义我们的方法的类的名称?它是否包含在方法签名之后抛出异常的指示(... throws Exception()
)?它是否包括开发人员对该方法的作用的评论?
最佳答案
两个不同的概念可能会产生混淆。
一个是对方法应该是什么的(自然语言)描述。它用英语(或任何其他语言)描述该方法的目标是什么,可能(但不一定)它的参数和返回值。
第二个是Java Language Specification中使用的短语。恰好一次in an example about abstract classes但从未正式定义。
用法#2似乎基本上指的是方法签名以及方法的返回类型。
换句话说,虽然 methodName(int n, String str)
是方法的签名,但一种可能的“方法规范”将是 Object methodName(int n, String str)
根据含义#2。
关于java - Java中的方法规范到底是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57904197/