1. Előadás
Követelmények
- 100 pont max
- 10 kvíz előadásokon (5*10 kérdés = 10 pont)
- 10 kvíz gyakorlaton (10 pont)
- Beadandó (15 pont)
- 1 ZH év végén (15 elmélet + 50 gyakorlat)
- No chatGPT
- Yes IDE, any IDE
IDEs
Ajánlott a gyorsbillentyűk ismerete
Random dolgok
- Relatíve új concept jávában : modulok, nem szeretnénk használni, nem igazán java jellegű fájlt hoz létre.
- típushelyettesítő / "meta" típus :
var, a rendszer következtetí ki a típusát a változónak az értékadás jobb oldalából- nem használható adattagnál
Felsorolásí típusok
- Speciális osztályok
- nem lehet új példányt létrehozni, a construktora nem lehet
public
- nem lehet új példányt létrehozni, a construktora nem lehet
- Deklarálni kell a típusával együtt, ha változó
- Több konstruktor létezhet, át tudnak hívni egymásra
- no arg vs default van különbség
enum HuCard {
SPRING(90), SUMMER(95), AUTUMN(88), WINTER(45);
// public static final HuCard SPRING = new HuCard();
// a számok csak illusztrációk
int dayCount;
HuCard(int dayCount, String name){
this.dayCount = dayCount;
this.name = name
}
HuCard(int dayCount){
this(dayCount, "Fake name");
}
HuCrad(){
this(123);
}
public int getDayCount(){
return 90;
}
}
public class HuCardMain{
public static void main(String[] args){
HuCard card = HuCard.AUTUMN;
}
}
Metódusok
- ordinal(): elem metódusa, a sorszámot adja vissza
- values(): az elemek tömbje
-
toString(): az enum nevét adja vissza
- Magic: igazából
this.name();-el adja vissza az enum nevét, így a toString() felűlírható úgyh, hogy még megkaphatjuk az enum nevét String-ként
- Magic: igazából
-
valueOf(String): String-ből csinál enum-ot, ha létezik egyébként:
IllegalArgumentException
toString
toString-ben, ne kelljen rengeteg művelettel összefűzni a Stringet, nagy műveletigény, helyette:
- StringBuilder
- String.format() vagy .formatted() a kettő ugyan az