以 'new Class()' 作为参数的方法签名

Signature of method with 'new Class()' as parameter

我看到一行代码,我不知道该方法的签名是什么样的。我在网上搜索了一些示例和解释,但没有找到。

代码行:

Circle sum = Circle.add(new Circle(), new Circle());

我想知道使用 'new Circle()' 作为参数时 add 方法的签名会是什么样子。

在不知道这一点的情况下 API,您可以使用以下提示:

  • 此方法接收 Circle 类型的两个参数(或更多...)和 returns 类型 Circle 的对象。
  • 方法是通过Circle.add(...)访问的,所以必须是static方法

因此此方法的签名类似于:

public static Circle add(Circle c1, Circle c2);

public static Circle add(Circle... circles);

(方法的访问修饰符可以不是public

签名可能是:

add(Circle, Circle)

new Circle() 是无参数构造函数调用。

因为它采用相同的对象 Circle 对象,我还建议它可以采用 Circlearray 和 return 中的 Circle 对象像这样结束:

public class Circle{

    public Circle() {
    }

    public static Circle add(Circle...circles){
        Circle c = ...;
        //do soemthing
        return c;
    }
}

或者您的 class conscructor 可以像这样接受两个 Circle :

public class Circle{

    public static Circle add(Circle c1, Circle c2){
        Circle c = ...;
        //do soemthing
        return c;
    }
}