Çok fazla statik işleviniz ve değişkeniniz varsa, gerçek OO yerine daha işlevsel bir yaklaşıma yol açabilir. Ayrıca eğer genel statik değişkeniniz varsa, iyi olmayan global değişkeni çoğaltabilirsiniz. Onları takip etmek bir kabus.
Genellikle Kuralımın eğer yapabilirsen örnek değişkenleri kullanır ve yalnızca gerçekten bir sınıf yerine bir nesnenin üzerine jenerik ise statik değişkenleri ve fonksiyonlara sahip
Bu benzer sorulara oldukça iyi cevaptır etmektir Java: when to use static methods
Sadece yöntemlerle bağlantı kurmak yerine yeni bir işlem oluşturmak için yeni bir işlem kullanmayı düşünün ve bu yönteme statik olmayan bir şekilde erişin.
önce
public void myMethod(){
Time.setTime(Time.getTime() + 20);
System.out.println(Time.getTime());
}
public void myMethod(){
Time t = new Time();
t.setTime(t.getTime() + 20);
System.out.println(t.getTime());
}
şimdi oluşturduğunuz zaman örneğine olacak bu yöntemlerin tutulur Herhangi devlet
sonra. Gerekirse, t değişkenini diğer yöntemlerle paylaşabilirsiniz.
Durumu korumak için statik değişkenleri kullanmanın programlarınızı gerçekleştirilemez hale getirdiğini buluyorum, temelde genel değişkenleri kullanmak gibi. Bir sınıf içindeki özel statikler, her yerden, yani spagetti kodundan erişen kod olmadığı için aynı soruna sahip değildir. –