Próbuję zainicjować klasę statyczną z argumentem, a następnie uruchomić trochę bardziej statycznego kodu w tej klasie.
Jestem świadomy bloku static
, ale wygląda na to, że nie może przyjmować żadnych argumentów.
Czy istnieje sposób przekazywania argumentów do konstruktora statycznego?
Jeśli nie, jaka jest zalecana technika inicjowania klasy statycznej za pomocą argumentu?Przekaż argument do konstruktora statycznego w Javie?
Edit: statyczna klasa w moim rozumieniu jest to klasa, która nie może być instancja (w języku C# są one nazywane klas statycznych, jeśli Java ma inny termin dla nich, przepraszam za nie wiedząc o tym) - Dostęp do niego odbywa się poprzez jego nazwę klasy, a nie nazwę obiektu.
Co staram się osiągnąć (bardzo uproszczone) to klasa, która odbiera słownik jako ciąg, analizuje go i ma metody manipulowania nim, takie jak GetRandomEntry
.
Oto rozbudowany fragment mojego kodu:
public class QuestionsRepository {
private static Map<String,String[]> easyDefinitions = new HashMap<String,String[]>();
//...
static
{
// need to receive and parse dictionary here
}
//...
Biorąc odpowiednich części fragmentu kodu nigdy nie jest łatwe, nadzieję, że wybrali mądrze (:
Kolejny szczegół, który może mieć znaczenie - jestem aC# programista, zwykle. Właśnie rozpoczął naukę Java ostatnio.
Dzięki.
ten zmierza w zły kierunek. Jakiś szczególny powód, dla którego nie możesz po prostu użyć normalnego konstruktora w klasie niestatycznej? –
Co to jest "klasa statyczna" w twoim rozumieniu? –
Próba kodu pozwoli lepiej zrozumieć twoje pytanie i kontekst. –