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
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.
Neden Java statik olarak bir sınıf bil...
Java statik iç içe geçmiş bir sınıf, n...
Java statik bir yöntem sınıf adını alm...
Java: Statik Sınıf?...
Java senkronize statik yöntemler: nesn...