Static metodlar aynı class içindeki diğer static elementler ile etkileşim kurabilir. Main bir static metod olduğu için myMethod()'u çağırabilmesi için myMethod()'un da static olması gerekiyor ve myMethod() da static olduğu için içinde kullanılacak değişkenler de static olmak zorunda demek.
Static değişkenler bir classın oluşturduğu tüm objeler için ortak değerlerdir. Yani 3 tane MyClass objesi oluşturup bu objelerden birinde static int a değişkeninin değerini 1 artırırsan diğer 2 objede de bu değer artmış olacak. Static keywordünün en yaygın kullanımı budur.
Sana tavsiyem mainin bulunacağı classı ayrı bir şekilde yazman ve metodlarını diğer classlarda yazıp main üzerinde obje oluşturarak çağırmak olacaktır.

Burada gördüğün gibi FileSystemTree classı başka bir yerde ve main tek başına kalmış durumda. test adında bir FileSystemTree objesi oluşturarak bu classın içindeki static olmayan metodları rahatlıkla çağırabiliyorum.
Static değişkenler bir classın oluşturduğu tüm objeler için ortak değerlerdir. Yani 3 tane MyClass objesi oluşturup bu objelerden birinde static int a değişkeninin değerini 1 artırırsan diğer 2 objede de bu değer artmış olacak. Static keywordünün en yaygın kullanımı budur.
Sana tavsiyem mainin bulunacağı classı ayrı bir şekilde yazman ve metodlarını diğer classlarda yazıp main üzerinde obje oluşturarak çağırmak olacaktır.

Burada gördüğün gibi FileSystemTree classı başka bir yerde ve main tek başına kalmış durumda. test adında bir FileSystemTree objesi oluşturarak bu classın içindeki static olmayan metodları rahatlıkla çağırabiliyorum.
