SORU
11 ŞUBAT 2011, Cuma


Olamaz Statik Statik Olmayan Yöntem için Başvuru Yapın

Çoklu dil Java inşa bir uygulama. R.string kaynak Dize değeri eklemek XML dosyası bir hata alıyorum:

public static final String TTT =  (String) getText(R.string.TTT);

Bu hata iletisi:

Hata: non-statik yöntem statik bir referans(int) türünden getText olun Bağlam

Şimdiden teşekkürler.

CEVAP
11 ŞUBAT 2011, Cuma


GetText olmayan statik olduğu için edemiyor statik bir yöntem çağrısı.

Neden olduğunu anlamak için iki farkı anlamalısınız.

Örnek (statik olmayan) yöntemler belirli bir türü (sınıf) nesneler üzerinde çalışır. Bu böyle yeni ile oluşturulur:

SomeClass myObject = new SomeClass();

Bir örnek yöntemi çağırmak için, (myObject) örnek arama:

myObject.getText(...)

Ancak statik bir yöntem/alan adı olabilirsadecebu tür doğrudan ilgili, şöyle ki: Önceki ifadesi doğru değil. One can also refer to static fields with an object reference like 12* *ama bu sınıf değişkenleri onlar iyice olmadığından önerilmez.

... = SomeClass.final

Ve iki farklı veri boşlukları (örnek veri ve sınıf veri) üzerinde çalışır gibi çalışın

İzin ver açıklayayım. Bu sınıf (psuedocode) göz önünde bulundurun:

class Test {
     string somedata = "99";
     string getText() { return somedata; } 
     static string TTT = "0";
}

Şimdi aşağıdaki kullanım örneği var:

Test item1 = new Test();
 item1.somedata = "200";

 Test item2 = new Test();

 Test.TTT = "1";

Ne değerleri?

İyi

in item1 TTT = 1 and somedata = 200
in item2 TTT = 1 and somedata = 99

Başka bir deyişle dökümler veritabanına sahiptir türünün tüm örnekleri tarafından paylaşılan bir veri. Söylemek için hiçbir mantıklı olun

class Test {
         string somedata = "99";
         string getText() { return somedata; } 
  static string TTT = getText(); // error there is is no somedata at this point 
}

Yani asıl soru nedenDökümler veritabanınagetText neden statik veya statik değil mi?

Statik kaldırmak ve bu hata geçmiş olsun. - ama senin tipin ne yaptığını anlamadan, sadece bir sonraki hataya kadar kalmanın bir alçı. Olmayan statik gerektiren getText gerektirdikleri nelerdir?

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Carlos Delgado

    Carlos Delga

    21 HAZİRAN 2011
  • Elliot Davin

    Elliot Davin

    28 Kasım 2008
  • TurkishRoyal

    TurkishRoyal

    16 Ocak 2007