Değişken private static varName;bildirmek, değişken bildirmekten farklı private varName;mıdır?
Evet, ikisi de farklı. Ve birincisi denir class variableçünkü bunun için tek bir değer tutarken classdiğeri denir instance variableçünkü farklı için farklı bir değer tutabilir instances(Objects). Birincisi jvm'de sadece bir kez oluşturulur ve diğeri örnek başına bir kez oluşturulur, yani 10 örneğiniz varsa private varName;jvm'de 10 farklı olacaktır .
Değişkeni staticdiğer özel özellikler olarak bildirmek mi?
Evet, statik değişkenler normal örnek değişkenlerden farklı özellikler alır. Zaten az bahsetmiştim ve burada bazılarını görelim: class variables(statik olarak bildirilen örnek değişkenler) gibi sınıf adı kullanılarak doğrudan erişilebilir ClassName.varName. Ve bu sınıftaki herhangi bir nesneye, yalnızca örnek nesneler tarafından erişilen örnek değişkenlerin aksine değerine erişebilir ve değerini değiştirebilirsiniz. Sınıf değişkenleri statik yöntemlerde kullanılabilir.
private static variableJava'da a'nın kullanımı nedir ?
Mantıksal olarak, ilkinden daha fazla kontrol sağlayandan private static variablefarklı değildir public static variable. IMO, kelimenin tam anlamıyla yerine public static variablegöre private static variableyardımıyla public staticalıcı ve ayarlayıcı yöntemlerinin.
Yaygın olarak kullanılan alanlarından biri private static variable, Singletontüm dünyada o sınıfın yalnızca tek bir örneğine sahip olacağınız basit modelin uygulanmasıdır . Burada statictanımlayıcı, tek bir örneğin dış dünya tarafından erişilebilir olmasını sağlamak için çok önemli bir rol oynar (Tabii ki genel statik alıcı yöntemi de ana rolü oynar).
public class Singleton {
private static Singleton singletonInstance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return Singleton.singletonInstance;
}
}