2017-12-04 3 views
0

私は静的メソッドを使用する利点を理解し、クラスのインスタンスなしで機能を呼び出すので、メモリが節約されます。クラス内でのみ呼び出されるメソッドでも、メソッドは静的である必要がありますか?

しかし、メソッドがクラス内でのみ呼び出されるのはどうですか?それでも、静的メソッドを使用する利点はありますか?

Class Test { 
    sayHelloWorld() { 
     print "Hello" + getWorld() 
    } 


    // this method never will be called out side of the class 
    // IDE say 'this method can be static' 
    private getWorld() { 
     return "world" 
    } 

} 
+0

はい。プライベートにすることはできますが、静的である必要があります。静的とは、インスタンスを必要としないことを意味します。 –

+0

どちらの場合でも、クラス内でクラス内でインスタンスを作成しないため、使用法は同じになります –

+0

しかし、静的ではないメソッドから使​​用されるため、インスタンス上にある必要があります。両方のメソッドを静的にすると、うまくいくはずです。 –

答えて

0

2017年のプログラマーとしての懸念は、メモリを節約することではなく、抽象的なものを適切な場所に配置することに関するものです。オブジェクト指向言語を使用している場合、静的メソッドを使用すると、悪いデザインIMHOの匂いがします。グローバル変数や関数を使用したCスタイルのプログラミングが可能になり、一般的にコードのテストが難しくなります。

関連する問題