Language Orta

İç sınıflardaki statik üyeler

Statik iç içe sınıflar gerektirmeden iç sınıflarda statik üyeler tanımlayın.

✕ Java 8
class Library {
    // Must be static nested class
    static class Book {
        static int globalBookCount;

        Book() {
            globalBookCount++;
        }
    }
}

// Usage
var book = new Library.Book();
✓ Java 16+
class Library {
    // Can be inner class with statics
    class Book {
        static int globalBookCount;

        Book() {
            Book.globalBookCount++;
        }
    }
}

// Usage
var lib = new Library();
var book = lib.new Book();
Bu kodda bir sorun mu gördünüz? Bize bildirin.
🔓

Daha fazla esneklik

İç sınıflar artık gerektiğinde statik üyelere sahip olabilir.

🧩

Paylaşılan durum

Bir iç sınıfın örnekleri arasında paylaşılan durumu takip edin.

📐

Tasarım özgürlüğü

Yalnızca bir statik alan için statik iç içe sınıfa geçmeye gerek yok.

Eski Yaklaşım
Statik iç içe sınıf kullanılmalı
Modern Yaklaşım
İç sınıflarda statik üyeler
JDK'dan itibaren
16
Zorluk
Orta
İç sınıflardaki statik üyeler
Mevcut

JDK 16'dan itibaren geniş çapta kullanılabilir (Mart 2021)

Java 16'dan önce, yalnızca statik iç içe sınıflar statik üyeler içerebiliyordu. İç (statik olmayan) sınıflar, bir çevreleyen örnek gerektirdiğinden statik üyelere sahip olamazdı. Java 16, bu kısıtlamayı gevşeterek iç sınıflarda statik alanlar, metotlar ve hatta iç içe türlere izin verir.

Paylaş 𝕏 🦋 in