Különbség a végleges és a statikus között

A matematikában és a tudományban a konstans egy olyan kifejezés, amely egy bizonyos értéket jelöl, például „π”, ami a 3.14159 szám gyakorlati neve. A Javanak van valamilyen állandósága. Ezek olyan változók, amelyek az (a) pont szerint egyetlen objektumhoz sem tartoznak, és (b) pont nem változtatja meg értéküket, miután beállították. A statikus szó a változó deklarációjában azt mutatja, hogy a változó nem tartozik egyik objektumhoz sem. Van egy hasonló kulcsszó, amely szerint a változó értékét csak egyszer állítják be és nem változnak. Ez a kulcsszó a végleges. Ez a kulcsszó nem korlátozódik a statikus változókra, hanem példányváltozókkal, helyi változókkal és akár olyan paraméterekkel rendelkező változókkal is használható. Ha a változót véglegesnek nyilvánítja, mindenkinek megmutatja, hogy a létezés során a változónak ugyanaz az értéke lesz. Ennél is fontosabb, hogy a fordító észlel minden olyan kísérletet, amely megváltoztatja az így deklarált változó értékét, és hibát jelent. Ami a Java terminológiát illeti, a statikusnak és véglegesnek deklarált változót állandónak nevezzük.

Mi a végleges??

A végső módosító több helyen használható a Java programozási nyelvben. Itt fogjuk bemutatni annak leggyakoribb használatát. A végső módosító alkalmazható egy helyi változó, a függvény argumentum és a nem statikus vagy statikus tagváltozó deklarálására. Ebben az összefüggésben a változó módosítója állandóvá alakul. A fordítónyelv-fordító ellenőrzi, hogy valamelyik kód megkísérel-e módosítani az értéket, és ezeket a kísérleteket hibaként jelöli meg. Íme egy példa.

végső int érték = 17;

A statikus tagváltozókat ezzel a módosítóval globális állandóként használjuk; Például a java.lang.matematikai PI változóban pontosan szerepel

nyilvános statikus végső kettős PI = 3,14159265358979323846;

A végső módosítót alkalmazhatjuk a funkció deklarációjára. A végsővel megjelölt funkciót már nem lehet felülírni - azaz a végső megvalósítás. Az absztrakt módszereket nem lehet véglegesnek nyilvánítani - az a tény, hogy elvonták, azt jelenti, hogy hiányoznak a végrehajtásuk; természetesen nem lehet a végső állapotuk. Íme egy példa.

nyilvános végleges int jelentésLife ()

visszatérés 42;

A végső módosítót alkalmazhatjuk az osztálynyilatkozatra. A végsővel jelölt osztály már nem örökölhető - azaz a végső megvalósítás. Nyilvánvaló, hogy az absztrakt osztály ugyanabban az időben nem lehet végleges. Íme egy példa

nyilvános záró osztály zárt

// ...

Az egyik véges osztálypélda a java.lang.String osztály - véges, így senki sem örökölheti, és így hozzáférhet a tagváltozóihoz.

Mi statikus??

A statikus változók nem tartoznak az osztály adott példányához. A statikus változók maga az osztályhoz tartoznak, és a memóriában csak egy hely található, függetlenül az osztály másolatának a memóriában létrehozott példányszámától. A nem statikus változók osztálymintákhoz tartoznak - az osztály minden egyes példánya rendelkezik saját másolattal az ilyen változókról. A statikus változók az osztályhoz tartoznak - a memóriában lévő osztály megtartja az ilyen változók értékeit; az összes mintaosztály tehát ugyanazt a tartalmat látja, így úgy tekinthetjük, hogy a statikus változókat meg lehet osztani az összes osztályméret között. Az értékváltozó frissítésével az új érték automatikusan látható lesz az osztály összes példányán. A statikus szűrőt bármilyen elemre fel lehet használni az osztályon belül. A tagsági változók esetében annak következménye, hogy az ilyen tagváltozókat csak egy helyen tárolják a memóriában. Mi történik, ha ez egy módszer? A módszert statikusnak nyilvánítva az üzenet ugyanaz: a releváns módszer nem az osztályok osztályához tartozik, hanem maga az osztály. Következésképpen a statikus módszerek nem kapnak rejtett hivatkozást arra az objektumra, amelyre felhívják őket; statikus referencia módszereknél ez nem érhető el. Valójában a statikus módszereknek az objektumra történő hivatkozása ugyanolyan zavaró, mint a statikus tagváltozatokhoz való hozzáféréshez erre a hivatkozásra hivatkozva: mindkét esetben jobb egyszerűen megírni az osztály nevét, a pontot és a hívó módszer nevét..

Különbség a végleges és a statikus között

  1. Változó

A statikus olyan változót jelent, amely közös minden objektum esetében, amelyek egy adott osztályt elindítanak, míg a végleges az állandót határozza meg.

  1. Eljárás

A statikus olyan módszer, amely ugyanaz az objektum adott objektumban - osztály tagnak is nevezik, pl. ez a fő módszer. A végleges módszer nem feldolgozható az öröklött osztályban.

  1. Osztály

A végpont nem bővíthető, azaz nem engedélyezi az alosztályokat. A statikus nem vonatkozik az osztályra.

  1. Érték

Egyszerűen fogalmazva: a végleges azt jelölte, hogy az érték nem változtatható meg (felülbírálható). A statikus értéket az alapértelmezett értékre állítja, de újrainicializálható.

Végső és statikus: összehasonlító diagram

A végleges és statikus összefoglaló

  • A kulcsfontosságú munkastatika akkor is hozzáférést biztosít, ha nincs objektum (példány). A kiemelkedő osztályokat a statikus kulcsszóval deklarálják. Ha nem akarja, hogy a program későbbi változásai értéke megváltozzon, vagy ha azt akarja, hogy a fordító ellenőrizze és tiltja, akkor megváltoztathatja ezt az ígéretet a végsőre. Van egy statikus blokk az inicializáláshoz. Az inicializálás statikus blokkját a zárójelek előtt statikus kulcsként deklarálják. Ezt a fajta blokkot egyszer hajtják végre, az osztályok leolvasása közben, és általában inicializálják az osztály statikus tagjait.