Junior — Middle
Оё метавонед шарҳ диҳед, ки истифодаи калимаи калидии 'final' барои тағирёбандаҳо дар забони Java чӣ маъно дорад?
sobes.tech AI
Ҷавоб аз AI
Дар Java калидвожа final дар вақти эълон кардани тағирёбанда маънои онро дорад, ки пас аз оғозёбӣ арзиши ин тағирёбанда дигар тағир дода намешавад.
Ин маъно дорад:
- Барои намудҳои асосӣ (
int,booleanва ғайра) арзиш муайян мешавад ва дубора таъин кардан мумкин нест. - Барои намудҳои истинодӣ (
объектҳо) наметавон ишора ба объекти дигарро тағир дод, аммо худи объект метавонад тағирёбанда бошад (агар методҳои он иҷозат диҳанд).
Масалан:
final int x = 10;
x = 20; // Хатои компилятсия
final List<String> list = new ArrayList<>();
list.add("item"); // Иҷозат дода шудааст, объект тағир меёбад
list = new ArrayList<>(); // Хатогӣ, ишора тағир дода намешавад
Истифодаи final кӯмак мекунад, ки код бештар пешгӯишаванда ва бехатартар шавад.