Vai javā ir kaut kas līdzīgs static class
?
Kāda ir šādas klases nozīme. Vai visām statiskās klases metodēm arī jābūt statiskām
?
Vai ir nepieciešams otrādi - ja klase satur visas statiskās metodes, vai arī klasei jābūt statiskai?
Kādam nolūkam ir derīgas statiskās klases?
Java ir "statiskās ligzdotās klases", bet tās nebūt nav tas pats, kas C#'statiskās klases, ja jūs domājat par to. Statiskā ligzdotā klase ir tikai tāda, kurai nav netiešas atsauces uz ārējās klases gadījumu.
Statiskajām ligzdotajām klasēm var būt instances metodes un statiskās metodes.
Java nav tādas lietas kā augstākā līmeņa statiskā klase.
Pastāv statiska ligzdota klase, šai [statiskajai ligzdotajai] klasei nav nepieciešams ieskaujošās klases gadījums, lai tā pati tiktu instancēta.
Šīs [statiskās ligzdotās] klases var piekļūt tikai ieskaujošās klases statiskajiem locekļiem [jo tām nav atsauces uz ieskaujošās klases instancēm...].
koda paraugs:
public class Test {
class A { }
static class B { }
public static void main(String[] args) {
/*will fail - compilation error, you need an instance of Test to instantiate A*/
A a = new A();
/*will compile successfully, not instance of Test is needed to instantiate B */
B b = new B();
}
}