public enum ERozmiar {
DUZY(100), SREDNI(10),
MALY(1) {
@Override
public String getStringReprezent() {
return "IAmMaly!!";
}
};
/**
* Wymagany jest konstruktor z intem
* nie może być public!!!
* wejdzie gdy Erozmiar roaz= Erozmia.DUZY
*/
ERozmiar(int wybrany) {
this.wybrany = wybrany;
}
private int wybrany;
public int getWybrany() {
return wybrany;
}
public String getStringReprezent() {
return "otherThanMALY";
}
}
public class ConcreteClass {
/**
* maly,sredni,wielki są pub;ic staic final!!!!!
*/
enum Rozmiary{ maly, SREDNI, WIELKI}
@Test
public void extendEnumTest(){
ERozmiar rozDuzy =ERozmiar.DUZY;
prn(rozDuzy.getStringReprezent());
ERozmiar rozMaly =ERozmiar.MALY;
prn(rozMaly.getStringReprezent());
//results:
//otherThanMALY
//IAmMaly!!
}
- Niem oże być deklarowany lokalnie! ( w metodzie)
- Wewnątrz klasy i owszem.!!!!!!!
- Moga być deklarowane w osobnym pliku!
- Dekalracja enuma poza klasą nie może być protected lub private!
- Dekalracja enuma poza klasą może być default lub public!
- Na końcu nie musi być średnika :D
- Enum może mieć metody , zmienne swoje , konctruktor z intem!!
- Jeżeli wydrukujemy to bedzie domyślenie drukowana anzwa enum np MALY
- Kązdy enum ma static funkcje values , która zwraca tablicę elemtów enuma w kolejności.
- Nie możesz wywołać konstruktora enuma bezpośrednio!!!
- Element elumu może nadpisywać metody w tym enumie!!
Brak komentarzy:
Prześlij komentarz