Sobes.tech
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 кӯмак мекунад, ки код бештар пешгӯишаванда ва бехатартар шавад.