19 Mart 2009, PERÅžEMBE
Java, bir sınıf içinde numaralama türleri statik?
Bir iç sınıf içinde elimden geldiğince bir sıralama içinde, çevre sınıfı örnek üyeleri erişmek için görünmüyor olabilir. Bu çeteleler statik olduğu anlamına gelmiyor mu? Çevreleyen sınıfın örneği kapsamında herhangi bir erişim var, ya da ben gereken yere numaralama yöntemi örneğine geçmek zorunda mıyım?
public class Universe {
public final int theAnswer;
public enum Planet {
// ...
EARTH(...);
// ...
// ... constructor etc.
public int deepThought() {
// -> "No enclosing instance of type 'Universe' is accessible in this scope"
return Universe.this.theAnswer;
}
}
public Universe(int locallyUniversalAnswer) {
this.theAnswer = locallyUniversalAnswer;
}
}
CEVAP
19 Mart 2009, PERÅžEMBE
Evet, iç içe çeteleler örtülü olarak statiktir.
language specification section 8.9:
Numaralama türleri örtülü olarak iç içe geçmiş statik. İzin alır açıkça iç içe bir numaralandırma türü bildirmek statik olmak.
Bunu PaylaÅŸ:

Java iç sınıf ve statik iç içe sınıf...
Java sınıf yolu içinde birden fazla ka...
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...