2016-05-17 7 views
0

私はJavaのテキストブックを読みましたが、私は質問があります。Javaで配列を返すメソッドはプライベートにできますか?

構文

public static Base_Type[] Method_Name(Parameter_List) 
{ 
    Base_Type[] temp = new Base_Type[Array_Size]; 
    *Statements_To_Fill_Array* 
    return temp; 
} 

本はは「メソッドが静的である必要はなく、パブリックである必要はありません。」と言います

なぜですか?メソッドが静的である必要がない理由を説明できますか?

そして、戻り値の配列メソッドをpublic staticメソッドにする利点または不利な点を知りたいと思います。

+3

この質問には、より多くの文脈がなければ答えられません。引用された声明文自体は虚偽です。それはあなたのクラスの構造とあなたが何をする必要があるかによって異なります。 –

+0

あなたの言ったことを理解します。多分私は私の質問についてより多くの情報を書いたはずですが、私は以下の答えを通して、私は私の好奇心を解決したと思います。とにかくありがとうございました! – coder

答えて

2
  1. よく宣言されているクラスのメソッドを使用している場合に限り、非公開にすることができます。他のオブジェクトから呼び出す場合は、そのオブジェクトをpublic/protectedにする必要があります。

  2. メソッドが独自のクラス変数を使用しない場合は、メソッドを静的にする必要があります。クラスにパブリックメソッドと静的メソッドがある場合、それは私のコードの匂いです。静的メソッドのみを含むクラスで静的メソッドを抽出します。

+0

ありがとう!私は明らかに理解する! – coder

+0

あなたは大歓迎です; D – Arctigor

0

このメソッドは、クラス内でのみ使用されるはずです。

1)メソッドをpublicにするのは、クラス宣言の外で呼び出されるはずです。

2)クラスのオブジェクトを作成せずにメソッドを呼び出すときは、メソッドを静的にします。

もちろん、必要に応じて公開または静的メソッドを作成できますが、それは主なOOPの原則に違反します。

関連する問題