SORU
12 EYLÜL 2009, CUMARTESİ


özel final statik öznitelik vs özel final özniteliği

Java ile ne arasındaki fark:

private final static int NUMBER = 10;

ve

private final int NUMBER = 10;

Her iki private fark static niteliği final.

Hangisi daha iyi? Ve neden?

CEVAP
12 EYLÜL 2009, CUMARTESİ


, static genel anlamı "ile ilişkiliyazınkendisi yerine birörnektürü."

Bu şimdiye kadar türünün bir örneği oluşturulduktan kalmadan statik bir değişken referans anlamına gelir, ve herhangi bir kod değişken başvuran aynı veri dir. Örnek değişkeni ile karşılaştırın o zaman sınıfı örneği başına değişken bir bağımsız sürümü var. Örneğin:

Test x = new Test();
Test y = new Test();
x.instanceVariable = 10;
y.instanceVariable = 20;
System.out.println(x.instanceVariable);

10 yazdırır: y.instanceVariable x.instanceVariable x y farklı nesneleri başvurmak için ayrı.

Sanaolabilirkötü bir fikir olduğu, ancak başvurular üzerinden statik üyelerine bakın. Eğer yaparsak:

Test x = new Test();
Test y = new Test();
x.staticVariable = 10;
y.staticVariable = 20;
System.out.println(x.staticVariable);

sonra 20 - yalnızca bir değişken var, örnek başına bir baskı olur. Bu daha net olarak yazmak olurdu:

Test x = new Test();
Test y = new Test();
Test.staticVariable = 10;
Test.staticVariable = 20;
System.out.println(Test.staticVariable);

Bu davranış çok daha belirgin hale getirir. Modern IDE genellikle üçüncü ikinci liste değiştirmeyi önerecektir.

Bir bildiri gibi olması için bir neden yok

private final int NUMBER = 10;

Eğer değişemez, nokta örneği başına bir kopyası yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Capcom Unity

    Capcom Unity

    5 NİSAN 2010
  • graham025

    graham025

    25 NİSAN 2006
  • Moodle

    Moodle

    11 Mayıs 2010