Sobes.tech
Junior

Τι είναι μια στατική κλάση;

sobes.tech AI

Απάντηση από AI

Στη Java, δεν υπάρχουν στατικές κλάσεις σε ανώτερο επίπεδο. Το static εφαρμόζεται σε εσωτερικές (nested) κλάσεις.

Στατική Εσωτερική Κλάση (Static Nested Class):

  • Δηλώνεται με τον τροποποιητή static μέσα σε μια άλλη κλάση (εξωτερική κλάση).
  • Δεν έχει άμεση πρόσβαση στα μη στατικά πεδία και μεθόδους της εξωτερικής κλάσης, μόνο μέσω μιας στιγμιότυπης αυτής (αν χρειάζεται).
  • Μπορεί να έχει άμεση πρόσβαση στα στατικά πεδία και μεθόδους της εξωτερικής κλάσης.
  • Δημιουργείται χωρίς να δημιουργηθεί ένα στιγμιότυπο της εξωτερικής κλάσης.
  • Χρησιμοποιείται για ομαδοποίηση σχετικών κλάσεων ή για εύκολη πρόσβαση σε βοηθητικές κλάσεις.

Παράδειγμα δημιουργίας:

class Outer {
    static class StaticNested {
        // πεδία και μέθοδοι της στατικής εσωτερικής κλάσης
    }
}

Παράδειγμα χρήσης:

// Δημιουργία στιγμιότυπου της στατικής εσωτερικής κλάσης
Outer.StaticNested nestedObject = new Outer.StaticNested();

Έτσι, η "στατική κλάση" στο πλαίσιο της Java αναφέρεται συνήθως σε μια στατική εσωτερική κλάση.