このメソッドのシグネチャがどのようなものかわかりません。私はいくつかの例と説明をオンラインで検索したが、見つからなかった。'new Class()'をパラメータとして持つメソッドのシグネチャ
コードの行:
Circle sum = Circle.add(new Circle(), new Circle());
私は、addメソッドのシグネチャはパラメータとして「新しいサークル()」でのように見えるだろうかと思いまして。
このメソッドのシグネチャがどのようなものかわかりません。私はいくつかの例と説明をオンラインで検索したが、見つからなかった。'new Class()'をパラメータとして持つメソッドのシグネチャ
コードの行:
Circle sum = Circle.add(new Circle(), new Circle());
私は、addメソッドのシグネチャはパラメータとして「新しいサークル()」でのように見えるだろうかと思いまして。
このAPIを知らなくても、次のヒントを使用することができます。このメソッドは、タイプCircle
の二つのパラメータ(またはそれ以上...)を受け取り、タイプCircle
のオブジェクトを返します
static
方法でなければならないので、この方法は、したがって、このメソッドのシグネチャは次のようになります、Circle.add(...)
を通じてアクセスされる:
public static Circle add(Circle c1, Circle c2);
または
public static Circle add(Circle... circles);
(メソッドのアクセス修飾子はpublic
以外でもかまいません)
署名は、おそらくです:
add(Circle, Circle)
new Circle()
がno-のparamsコンストラクタ呼び出しです。単にあなたのクラスconscructorは次のように2 Circle
を取ることができ
public class Circle{
public Circle() {
}
public static Circle add(Circle...circles){
Circle c = ...;
//do soemthing
return c;
}
}
または:それは同じオブジェクトCircle
オブジェクトを取るので
は、私もそれがCircle
のarray
を取り、このような終わりでCircle
オブジェクトを返すことができます示唆しますこれは:
public class Circle{
public static Circle add(Circle c1, Circle c2){
Circle c = ...;
//do soemthing
return c;
}
}
私は静的だと思っていますが、そうでなければこれです。なぜいいと思うのかの説明。 – user2478398
@ user2478398ありがとうございます、あなたが正しいです、私はこのメソッドにアクセスする方法を忘れてしまった。私は答えを更新しました。 –
2つ以上の 'Circles'が許される場合、@ YCF_Lのvarargsの使用を含めるように更新しました –