Mam program Java z setkami stałych konfiguracyjnych:
public static final String C1="C1";
public static final String C2="C2";
Ponieważ jest ich tak wiele, umieściłem je w osobnej klasie, MyClassConstants
. Teraz muszę ich używać MyClass
:
import mynamespace.MyClassConstants;
myMethod( MyClassConstants.C1, MyClassConstants.C2 );
Robi się to bardzo szczegółowe, więc zastanawiałem się, czy można w jakiś sposób zaimportować pola bezpośrednio:
import mynamespace.MyClassConstants.*;
myMethod( C1, C2 ); //doesn"t work
Lub przynajmniej zmień nazwę importu:
import mynamespace.MyClassConstants as C; //javac hates me
myMethod( C.C1, C.C2 );
Ale wydaje się, że to późniejsze podejście jest niemożliwe
Czy istnieje sposób, aby to zrobić i nadal mieć znaczącą nazwę klasy dla stałych? Czy powinienem zastosować inne podejście?
Odpowiedzi:
6 dla odpowiedzi № 1Odpowiedź to Static import
możesz rozwiązać za pomocą:
import static mynamespace.MyClassConstants.*;
Zobacz też:
6 dla odpowiedzi nr 2
próbować
import static mynamespace.MyClassConstants.*;
następnie
myMethod( C1, C2 ); should work
3 dla odpowiedzi nr 3
Powinieneś importować statycznie. Więcej szczegółów tutaj http://javapapers.com/core-java/what-is-a-static-import-in-java/
Masz to jak: import static mynamespace.MyClassConstants.*;