Chcę mieć klasę z prywatnym statycznym składnikiem danych (wektorem zawierającym wszystkie znaki az). W Javie lub C # mogę po prostu stworzyć „statyczny konstruktor”, który będzie działał przed utworzeniem jakichkolwiek instancji klasy, i ustawiam statyczne składowe danych klasy. Jest uruchamiany tylko raz (ponieważ zmienne są tylko do odczytu i muszą być ustawione tylko raz), a ponieważ jest to funkcja klasy, ma dostęp do swoich prywatnych członków. Mógłbym dodać kod w konstruktorze, który sprawdza, czy wektor jest zainicjowany, i inicjuje go, jeśli tak nie jest, ale wprowadza to wiele niezbędnych kontroli i nie wydaje się optymalnym rozwiązaniem problemu.
Przychodzi mi do głowy myśl, że skoro zmienne będą tylko do odczytu, mogą być po prostu publicznymi stałymi statycznymi, więc mogę ustawić je raz poza klasą, ale znowu wygląda to na brzydki hack.
Czy można mieć prywatne statyczne elementy członkowskie w klasie, jeśli nie chcę ich inicjować w konstruktorze instancji?