如何识别 Java 中方法的签名?
How to identify signatures of a method in Java?
我认为我无法理解如何在 Java 中给出方法的签名。例如,如果我的代码是:
public void addOn(Fraction other) {
number = other.denominator * number + other.numerator * denominator;
denominator = denominator * other.denominator;
而且我必须给出方法 addOn() 的签名;
此方法的签名是否只是 addOn(Fraction);?
这实际上取决于您需要的 "accuracy" 级别。
当您与同事进行非正式交谈时,"signature" 可能会包含人类可能感兴趣的所有信息:
- return类型
- 方法名称
- 参数类型(包括它们的顺序!)
- 抛出列表
- (注释)
然而,当您从编译器构造函数或 JVM compiler 的角度出发时,答案就不同了;在这种情况下,只有第 2 项和第 3 项很重要; 不是签名的一部分。
如果您想将 Fraction
作为参数传递给 class。首先,您需要创建 Fraction
的引用,例如
Fraction ref =new Fraction();//Assuming Fraction class has default constructor
然后你可以将它传递为;
addOn(ref);//Ref of Fraction class as parameter
在 Java 中,方法签名仅包含方法名称和参数的数据类型。
例如在您上面发布的方法中:
public void addOn(Fraction other) {
}
签名将是 addOn(Fraction )。
这是C++和java的区别之一,在C++签名中也包含return类型,但在java中return类型没有方法签名的一部分。
因此,在 C++ 方法签名的情况下,上述方法将为 void addOn(Fraction);
我相信,你应该参考this article。
它明确指出一个方法签名只包含:
- 方法名称
- 参数类型,即参数的类型和顺序
所有其他部分,如异常、return 类型、注释是方法声明的一部分,而不是签名。
除了这些语法方面的东西,在选择方法名称时还应该考虑语义。
- 方法名应遵循驼峰式
- 方法名要有意义
- 方法名称应以动词开头
我会建议您完成 java coding guidelines。
我认为我无法理解如何在 Java 中给出方法的签名。例如,如果我的代码是:
public void addOn(Fraction other) {
number = other.denominator * number + other.numerator * denominator;
denominator = denominator * other.denominator;
而且我必须给出方法 addOn() 的签名;
此方法的签名是否只是 addOn(Fraction);?
这实际上取决于您需要的 "accuracy" 级别。
当您与同事进行非正式交谈时,"signature" 可能会包含人类可能感兴趣的所有信息:
- return类型
- 方法名称
- 参数类型(包括它们的顺序!)
- 抛出列表
- (注释)
然而,当您从编译器构造函数或 JVM compiler 的角度出发时,答案就不同了;在这种情况下,只有第 2 项和第 3 项很重要; 不是签名的一部分。
如果您想将 Fraction
作为参数传递给 class。首先,您需要创建 Fraction
的引用,例如
Fraction ref =new Fraction();//Assuming Fraction class has default constructor
然后你可以将它传递为;
addOn(ref);//Ref of Fraction class as parameter
在 Java 中,方法签名仅包含方法名称和参数的数据类型。
例如在您上面发布的方法中:
public void addOn(Fraction other) {
}
签名将是 addOn(Fraction )。
这是C++和java的区别之一,在C++签名中也包含return类型,但在java中return类型没有方法签名的一部分。 因此,在 C++ 方法签名的情况下,上述方法将为 void addOn(Fraction);
我相信,你应该参考this article。
它明确指出一个方法签名只包含:
- 方法名称
- 参数类型,即参数的类型和顺序
所有其他部分,如异常、return 类型、注释是方法声明的一部分,而不是签名。
除了这些语法方面的东西,在选择方法名称时还应该考虑语义。
- 方法名应遵循驼峰式
- 方法名要有意义
- 方法名称应以动词开头
我会建议您完成 java coding guidelines。