Skirtumas tarp statinės ir galutinės Java

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 8 Gegužė 2024
Anonim
CS50 2013 - Week 9, continued
Video.: CS50 2013 - Week 9, continued

Turinys


Statiniai ir galutiniai yra raktiniai žodžiai, naudojami „Java“. Statinį narį galima pasiekti prieš sukuriant klasės objektą. Finalas turi skirtingą poveikį, kai jis taikomas klasei, metodams ir kintamiesiems. Pagrindinis skirtumas tarp statinio ir galutinio raktinio žodžio yra tas statinis yra raktinis žodis, naudojamas apibrėžti klasės narį, kuris gali būti naudojamas nepriklausomai nuo bet kurio tos klasės objekto. Finalas raktinis žodis naudojamas deklaruoti, pastovus kintamasis, metodas, kurio negalima perrašyti, ir klasė, kurios negalima paveldėti.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasStatinisFinalas
TaikomaStatinis raktinis žodis taikomas įdėtai statinio klasei, kintamiesiems, metodams ir blokui.Galutinis raktinis žodis taikomas klasei, metodams ir kintamiesiems.
PradėjimasInicijuoti statinį kintamąjį jo deklaravimo metu neprivaloma.Galutinį kintamąjį privaloma inicijuoti jo deklaravimo metu.
ModifikacijaStatinį kintamąjį galima pakartotinai inicijuoti.Galutinis kintamasis negali būti pakartotinai inicijuotas.
MetodaiStatiniai metodai gali pasiekti tik statinius klasės narius ir gali būti vadinami tik kitais statiniais metodais.Galutiniai metodai negali būti paveldimi.
KlasėStatinių klasių objektas negali būti sukurtas ir jame yra tik statiniai nariai.Galutinė klasė negali būti paveldima nė vienos klasės.
BlokuotiStatinis blokas naudojamas statiniams kintamiesiems inicializuoti.Galutinis raktinis žodis nepalaiko tokio bloko.


Statinio apibrėžimas

Statinė yra raktinis žodis, taikomas klasėms, kintamiesiems, metodams ir blokams. Klasės nariai, klasė ir blokai gali būti statūs naudojant „statinį“ raktinį žodį prieš klasės narių, klasės ir blokų vardą. Kai klasės narys paskelbiamas statišku, jis tampa visuotinis visiems kitiems klasės nariams. Statinis klasės narys neužima atminties kiekvienu egzemplioriumi, ty visi objektai turi tą pačią statinio elemento kopiją. Statinį elementą galima naudoti nepriklausomai nuo bet kurio tos klasės objekto. Galite prieiti prie statinio klasės nario prieš sukurdami jo objektą. Geriausias statinio nario pavyzdys yra pagrindinis () metodas, jis deklaruojamas kaip statinis, kad jį būtų galima iškviesti prieš egzistuojant objektui. Bendroji forma norint patekti į statinį klasės narį:

klasės_pavadinimas.statinis_ narys // prieinamas statinis klasės narys

Aukščiau esančiame kode class_name yra klasės, kurioje apibrėžtas static_member, pavadinimas. Statinis narys gali būti statinis kintamasis arba statinis metodas


Statiniai kintamieji:

  • Statinis kintamasis veikia kaip visuotinis kintamasis visiems kitiems klasės duomenims.
  • Statinį kintamąjį galima pasiekti, kol neegzistuoja nė vienas klasės objektas.
  • Statinį kintamąjį galima pasiekti su klasės pavadinimu, kuriame jis yra apibrėžtas, po kurio nurodomas taškas (.).

Statiniai metodai:

  • Statiniu metodu galima vadinti tik kitus statinius metodus.
  • Statinis metodas gali pasiekti tik statinius duomenis.
  • Statinis metodas jokiomis aplinkybėmis negali būti vadinamas „šiuo“ ar „super“.
  • Statinį metodą galima pasiekti pateikus klasės pavadinimą, kurį jis apibūdina, po kurio nurodomas taškas (.).

Statinė klasė:

  • „Java“ turi įdėtosios statinės klasės sąvoką. Atokiausia klasė negali būti statiška, o vidinė klasė negali būti statinė.
  • Statinė įdėta klasė negali pasiekti išorinės klasės nestatinio nario.
  • Tai gali pasiekti tik statiniai išorinės klasės nariai.

Statinis blokas:

Statinis blokas vykdomas tik vieną kartą, kai klasė įkeliama. Naudojamas statiniams klasės kintamiesiems inicializuoti.

C ++:

C ++ sąvokoje turime statinių kintamųjų sąvoką, taip pat statines funkcijas, tuo tarpu C ++ nepalaiko statinės klasės.

C #:

C # palaiko statinę klasę, statinius kintamuosius ir statinę klasę.

„Java“:

„Java“ palaiko statinę įdėtą klasę, statinius kintamuosius, statinius metodus.

Galutinio apibrėžimas

Finalas yra raktinis žodis, taikomas klasei, kintamajam ir metodams. Klasė, kintamasis ir metodas deklaruojami kaip galutiniai, naudojant raktinį žodį „galutinis“, prieš kurį nurodomas jų pavadinimas. Kai kintamasis paskelbiamas galutiniu; jo negalima toliau modifikuoti programoje. Galutinis kintamasis turi būti inicializuotas pateikiant laiką. Galutiniai kintamieji neužima atminties kiekvienu atveju. Visi klasių objektai turi tą pačią galutinio kintamojo kopiją.

Metodo, paskelbto galutiniu, negalima paneigti tos klasės poklasiu, kuriame deklaruojamas galutinis metodas. Kai klasė paskelbiama galutine, kita klasė negali paveldėti tos klasės. C ++, C # nepalaiko koncepcijos, jei galutinis raktinis žodis. „Java“ palaiko galutinio raktinio žodžio sąvoką ir „Java“; klasę, kintamąjį ir metodą galima paskelbti galutiniu.

  1. Statinis raktinis žodis taikomas įdėtai statinio klasei, kintamiesiems, metodams ir blokams. Kita vertus, galutinis raktinis žodis yra taikomas klasės metodams ir kintamiesiems.
  2. Statinį kintamąjį galima inicializuoti bet kuriuo metu, tuo tarpu galutinis kintamasis turi būti inicijuotas deklaravimo metu.
  3. Statinį kintamąjį galima pakartotinai inicijuoti, tuo tarpu, paleidus galutinį kintamąjį, jo negalima pakartotinai inicijuoti.
  4. Statinis metodas gali pasiekti statinį klasės narį ir gali būti naudojamas tik kitais statiniais metodais. Kita vertus, galutinio metodo niekada negali paveldėti nė viena klasė.
  5. Statinis blokas yra naudojamas statiniams kintamiesiems inicijuoti, tuo tarpu galutinis raktinis žodis nepalaiko nė vieno bloko.

Išvada:

Tiek statinis, tiek galutinis raktinis žodis išsprendžia skirtingą tikslą, kai taikomi klasei, kintamajam ir metodui.