Разлика између Финал, Коначно и Финализе у Јави

Аутор: Laura McKinney
Датум Стварања: 2 Април 2021
Ажурирати Датум: 10 Може 2024
Anonim
МАЛЬДИВЫ, которые в самое сердце. Большой выпуск. 4K
Видео: МАЛЬДИВЫ, которые в самое сердце. Большой выпуск. 4K

Садржај


Речи „коначно, коначно и завршено“ налазе се у контра Јава. Сваки од њих има другачије функционисање. Основна разлика између коначног и коначног је у томе коначни је модификатор приступа, напокон је блок и финализирати је метода класе објеката. Постоје неке друге разлике између коначног и коначног који су размотрени у упоредној табели.

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивањеКоначниКоначноДоврши
ОсновниФинално је "Јава" и кључна реч и модификатор приступа.Коначно је "блок" у Јави.Финализација је "метода" у Јави.
ПрименљивоФинал је кључна реч која се односи на класе, променљиве и методе.Коначно је блок који је увек повезан са блоком покушај и улов.финализе () је метода применљива на објекте.
Рад(1) Коначна варијабла постаје константна и не може се доделити поново.
(2) Дечја класа не може заобићи коначну методу.
(3) Финална класа се не може продужавати.
Блок "коначно", очистите ресурсе који се користе у "покушају" блоку.Финализирајућа метода врши чишћење активности везаних за објекат пре његовог уништавања.
ИзвршењеЗавршни метод се извршава након његовог позива."Коначно" блок извршава се одмах након извршења блока "три-цатцх".финализе () метода се изводи непосредно пре уништења објекта.


Дефиниција Финал

„Финал“ је кључна реч на Јави. То је модификатор приступа. „Коначна“ кључна реч је применљива на класе, методе и променљиве. Да видимо како то функционише са сваким од њих.

Коначна променљива

  • Када се задња кључна реч примјени на променљиву, она се не може даље модификовати.
  • Коначна варијабла мора се иницијализирати када је декларирана.
  • У уобичајеној конвенцији кодирања, коначне променљиве су декларисане у УППЕРЦАСЕ.
  • Коначна варијабла не заузима меморију на инстанци.

финал инт ФИЛЕ_ОПЕН = 2;

Коначни методи

  • Када је метода у класи проглашена коначном, не може је надјачати њезин подразред.
  • Мале методе које су проглашене коначним могу да поставе „инлине“ од стране преводиоца, што ће умањити опште трошкове позива и повећати перформансе.
  • Прекрштени позиви метода, решавају се динамички, али када се метода прогласи коначном, не може се прегласити. Стога се позивање функције може разријешити у вријеме компилације.

класа А {финал воид метх () {Систем.оут.лн ("Ово је коначна метода."); }} класа Б проширује А {воид метх () {// Класа Б не може наследити методу класе А. Систем.оут.лн ("Не превладава"); }}

Финал Цласс

  • Када је класа декларирана као коначна, није је могуће подединити нити један подразред.
  • Ако се класа прогласи коначном, аутоматски ће се прогласити коначним све његове методе.
  • Не можете прогласити класу и „апстрактном“ и „коначном“.

финална класа А {// ...} класа Б се проширује А {// Класа Б не може наследити класу А // ...}

  • У Јави је „коначно“ блок који је увек повезан са блоком пробај / ухватити.
  • Блок „коначно“ се извршава након блока покушај / уломака и пре кода који следи блок покушаја / улова.
  • Блок „коначно“ извршава се без обзира да ли је изузетак избачен или не.
  • Када се изузме изузетак и ниједан блок хватања се не подудара са изузетком чак и тада, блок "коначно" се извршава.
  • Када се метода врати позиваоцу из блока три / цатцх путем унцаугхт изузетка или изричите изјаве повратка, блок "напокон" се извршава непосредно пре него што се метода врати позиваоцу.
  • Блок "коначно" користи се за чишћење ресурса или ослобађање меморије која се користи у блоку "пробај".
  • Блок „коначно“ је опционалан, али је добра пракса да коначно напишете блок након блока покушај / ухватити.

цласс ФиналЕкампле {// Ова метода избацује изузетак из методе. статиц воид процА () {пробај {Систем.оут.лн ("унутар процА"); баците нову РунтимеЕкцептион ("демо"); } коначно {Систем.оут.лн ("Процитати коначно"); }} // Повратак из пробног блока. статиц воид процБ () {пробај {Систем.оут.лн ("унутар процБ"); повратак; } напокон {Систем.оут.лн ("ПроцБс коначно"); }} // Извршите покушајни блок нормално. статиц воид процЦ () {пробај {Систем.оут.лн ("унутар процЦ"); } коначно {Систем.оут.лн ("ПроЦЦ коначно"); }} јавни статички воид маин (Стринг аргс) {пробај {процА (); } цатцх (Изузетак е) {Систем.оут.лн ("Изузетак је ухваћен"); } процБ (); процЦ (); }} // излаз унутар про-ПроЦ-а, коначно Изузетак је ухваћен унутар процБ-а, ПроБ-а, коначно унутар ПРОЦ-а, ПроЦ-а, коначно

Дефиниција Финализе

  • Финализе је метода у објектној класи.
  • Објекат можда садржи неке неваванске ресурсе, као што је руковање датотекама; онда се мора ослободити пре него што се уништи.
  • Ову методу прикупља сакупљач смећа пре него што објект потпуно уништи.
  • Овом методом се обављају активности чишћења објекта пре него што се он уништи.

Општи облик методе финализе () је следећи.


протецтед воид финализе () {// код за финализацију овде}

Метода финализације је проглашена заштићеном тако да јој се не може приступити изван класе.

Ова метода се увек назива пре одвоза смећа.

  1. Коначна реч коначна је модификатор приступа, на крају је блок, а финализација је метода.
  2. Коначна реч кључна примењује се на класе, променљиве и методе класа, на крају је блок повезан са блоком покушај хватања који се користи за обраду изузетака, финализе је метода која делује само на објектима.
  3. Променљива једном проглашена коначном постаје константна и не може се поново доделити, метода која је декларирана као коначна не може се надјачати, а класа која је једном проглашена коначном никада не може бити наслеђена. Коначни блок користи се за чишћење ресурса који се користе у блоку покушај улова. Метода финализације користи се за чишћење ресурса које користи објект прије него што се објект уништи.

Закључак:

Коначно, коначно и финализирање има различит ефекат када се примени на методу.