Junior — Middle
Lehetséges-e egy metóduson belül egy változót a végleges módosítóval deklarálni anélkül, hogy azonnal inicializálnánk?
sobes.tech MI
Válasz az MI-től
A Dart nyelvben (amelyet a Flutterben használnak) egy final módosítóval ellátott változót egy módszeren belül deklarálhatunk azonnali inicializálás nélkül, de ennek az első használat előtt inicializálva kell lennie, különben fordítási hiba lép fel. Ez a késleltetett inicializálásnak köszönhető, például:
void példa() {
final int x; // deklaráció inicializálás nélkül
x = 10; // használat előtt inicializálás
print(x);
}
Azonban, miután értéket rendeltek hozzá, a final változó értékét nem lehet megváltoztatni. Ha megpróbálja a változót használni az inicializálás előtt, a fordító hibát jelez.