SORU
16 EYLÜL 2008, Salı


Java iç sınıf ve statik iç içe sınıf

Bir iç sınıf ve Java statik iç içe geçmiş bir sınıf arasındaki temel fark nedir? Tasarım /uygulama bu her seçiminde bir rol oynar mı?

CEVAP
16 EYLÜL 2008, Salı


Dersler iki kategoriye ayrılır iç içe ve statik olmayan statik. Statik bildirilen iç içe sınıflar sadece statik iç içe sınıflar denir. Statik olmayan iç içe geçmiş sınıflar iç sınıflar denir.

Statik iç içe sınıfları kapsayan sınıf adı kullanılarak erişilir:

OuterClass.StaticNestedClass

Örneğin, statik, iç içe geçmiş sınıfı için bir nesne oluşturmak için, bu sözdizimini kullanın:

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();

İç bir sınıf örneği olan nesneleri dış sınıfının bir örneği içinde mevcut. Aşağıdaki sınıfları düşünün:

class OuterClass {
    ...
    class InnerClass {
        ...
    }
}

İnnerClass örneği yalnızca metot gibidir örneği içinde var olabilir ve kendi kapsayan örnek yöntemleri ve alanları doğrudan erişim vardır.

Bir iç sınıf oluşturmak için, ilk dış sınıf örneğini gerekir. O zaman, bu sözdizimi ile dış nesne içinde bir iç nesne oluşturmak:

OuterClass.InnerClass innerObject = outerObject.new InnerClass();

bakın: Java Tutorial - Nested Classes

Kabul de inner class without an enclosing instance: olarak böyle bir şey olduğunu unutmayın

class A {
  int t() { return 1; }
  static A a =  new A() { int t() { return 2; } };
}

Burada, new A() { ... }iç sınıf statik bir çerçevede tanımlanmışve kapsayan bir örneği yok.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • infiniTuts

    infiniTuts

    18 Ocak 2012
  • itfigueres

    itfigueres

    12 EKİM 2013
  • michal lelkowski

    michal lelko

    9 Temmuz 2006