logo

Ero staattisen ja ei-staattisen välillä Javassa

Jotta voisimme ymmärtää, kuinka luokat, muuttujat ja menetelmät toimivat Javassa, on tärkeää ymmärtää staattisen ja ei-staattisen käsitteet. Ei-staattiset jäsenet on linkitetty tiettyihin luokkainstanssiin, kun taas staattiset jäsenet on yhdistetty luokkaan. Tässä osiossa verrataan staattisia ja ei-staattisia Java-komponentteja korostaen niiden eroja ja mahdollisia sovelluksia.

java pgm

Liittyvä

Staattinen: Staattiset jäsenet (muuttujat ja menetelmät) liittyvät itse luokkaan eikä yksittäisiin esiintymiin.

Ei-staattinen: Ei-staattiset jäsenet ovat erityisiä luokan jokaiselle esiintymälle, koska ne on sidottu luokasta luotuihin objekteihin.

Muistin varaus

Staattinen: Staattisille jäsenille varataan muisti vain kerran, luokan latauksen yhteydessä. Ne jaetaan kaikkien luokan esiintymien kesken.

Ei-staattinen: Ei-staattisille jäsenille on varattu muisti erikseen jokaiselle luokan esiintymälle. Jokaisella objektilla on oma kopionsa ei-staattisista jäsenistä.

Pääsy

Staattinen: Staattisiin jäseniin pääsee suoraan käyttämällä luokan nimeä ja jäsenen nimeä (esim. Luokannimi.jäsennimi). Ne ovat käytettävissä missä tahansa ohjelman sisällä.

Ei-staattinen: Ei-staattisiin jäseniin päästään käyttämällä objektiviittausta, jota seuraa jäsenen nimi (esim. objectReference.memberName). Ne ovat erityisiä luokan tietylle esiintymälle.

java matematiikan luokka

Alustus

Staattinen: Staattiset jäsenet alustetaan, kun luokka ladataan muistiin, tyypillisesti ohjelman käynnistyksen yhteydessä. Alustus tapahtuu vain kerran.

Ei-staattinen: Ei-staattiset jäsenet alustetaan, kun luokan jokainen esiintymä luodaan, yleensä käyttämällä uutta avainsanaa. Alustus tapahtuu jokaiselle objektille erikseen.

Laajuus

Staattinen: Staattisilla jäsenillä on maailmanlaajuinen laajuus, ja niitä voidaan käyttää mistä tahansa ohjelman sisällä, jopa luomatta luokan esiintymää.

Ei-staattinen: Ei-staattisilla jäsenillä on paikallinen laajuus, ja niitä voidaan käyttää vain luokan esiintymän kautta. Niitä ei voi käyttää luomatta objektia.

css tasaus kuvat

Pääsy jäsenille

Staattinen: Staattiset jäsenet voivat käyttää vain muita saman luokan staattisia jäseniä. He eivät voi käyttää ei-staattisia jäseniä suoraan.

Ei-staattinen: Ei-staattiset jäsenet voivat käyttää sekä staattisia että ei-staattisia jäseniä saman luokan sisällä. Heillä on suora yhteys kaikkiin jäseniin.

Käyttö

Staattinen: Staattisia jäseniä käytetään yleisesti hyödyllisyysmenetelmille, vakioille tai muuttujille, jotka eivät ole erityisiä yksittäisille esiintymille. Esimerkiksi matemaattisia funktioita sisältävä matemaattinen luokka.

multipleksointi

Ei-staattinen: Ei-staattisia jäseniä käytetään ilmentymäkohtaiseen toimintaan, koska ne sisältävät kullekin objektille ominaisia ​​tietoja. Esimerkiksi ilmentymämuuttujat, jotka tallentavat yksilölliset arvot kullekin objektille.

Muistin tehokkuus

Staattinen: Staattiset jäsenet kuluttavat muistia vain kerran riippumatta luotujen esiintymien määrästä. Ne voivat olla muistitehokkaita, kun samat tiedot on jaettava kaikkien objektien kesken.