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

  • Ammine Getahun

    Ammine Getah

    21 HAZİRAN 2011
  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • Eric Magidson

    Eric Magidso

    4 Ocak 2009