CodeGym /Java blog /Véletlen /Régi szint 06
John Squirrels
Szint
San Francisco

Régi szint 06

Megjelent a csoportban

Egy Java fejlesztő útiterve

Egy barátom azon töprengett, miért olyan boldogok a fejlesztők mindig. A válasz egyszerű és meglepő volt: azt csinálják, amit szeretnek, és nagy pénzt keresnek. Üdvözöljük a szoftverfejlesztők világában. Régi szint 06 - 1

Szoftverfejlesztő fizetés

A fejlesztők fizetéséről szeretnék mesélni. Hogyan fekszik a föld a fizetésekkel, hová kell menni dolgozni, és hová nem. Ha Ön nem fejlesztő, és egyedül próbálja megfejteni, akkor meglehetősen ellentmondásos adatot kaphat. A lényeg az, hogy a fejlesztő fizetését nem a végzettség, hanem a munkavégzés helye befolyásolja leginkább. Egyenlő képzettségi szint mellett előfordulhat, hogy a jó és a rossz munkahely közötti különbség 2-10-szeres(!) lehet. Minden adott pillanatban a végzettsége állandó. Nem lehetsz kétszer olyan képzett egy hónap alatt, és nem kaphatsz kétszer annyi fizetést. De egy hónap alatt munkahelyet válthatsz, és kétszer nagyobb fizetést kaphatsz. Egyszer a két hónap leforgása alatt a fizetésem megszorozva hárommal (!) – Felejthetetlen élmény. Tehát nézzük meg, melyik a legjobb hely.
  1. Egy cég fő tevékenysége szoftverfejlesztés
  2. Függetlenül attól, hogy a vállalat a globális vagy a helyi piacra orientálódik
  3. Hol található a fő iroda: fejlett ország vagy fejlődő ország
Vegye figyelembe, hogy a város, ahol dolgozik, nem releváns. Ez azt jelenti, hogy ha ötször kevesebbet keres Barcelonában, mint a barátja New Yorkban, akkor az általam említett tényezők valószínűleg befolyásolták. 

Konkrét számok

Mivel a fizetések a világ különböző részein eltérőek, azt javaslom, hogy az 5 éves tapasztalattal rendelkező Senior Java Developer fizetését vegyük kiindulópontnak, és nevezzük ezt „5 év maximum”. Az összes alábbi szám ennek az összegnek a százalékában lesz megadva. Íme néhány példa „5 éves maximum” fizetésekre a világ különböző városaiban: Az Régi szint 06-2alábbiakban látható, hogy egy 5 éves tapasztalattal rendelkező Java Senior Developer mennyit kereshet attól függően, hogy melyik cégnél dolgozik: Régi szint 06-3Régi szint 06-4Mi a legfurcsább a jelenlegi helyzetben? A programozók fele 1 és 2 szintű cégeknél dolgozik. Akarod tudni, mi a trükk? Több száz megnyílt állás van 3 és 4 szintű cégeknél. Ezek a cégek hajlandók magasabb fizetést és általában jobb munkakörülményeket ajánlani Önnek. Két Java Juniort ismerek, egyikük az „5 éves maximum” 3%-át fizette ki (1. szintű cég), a másik pedig az „5 éves maximum” fizetés 30%-ával (4. szint). Akkor miért kapsz kevesebbet? A programozók iránti kereslet meghaladja a kínálatot – ne menjen oda dolgozni, ahol kevesebbet fizetnek! 1. következtetés: A Java fejlesztők átlagfizetése (bármilyen tapasztalattal) az „5 éves maximum” fizetés 40–50%-a. Következtetés 2: Az Ön átlagos fizetése 5 éven belül az „5 éves maximum” fizetés 90–110%-a lesz, ha nem 1. és 2. szintű cégeknél dolgozik, hanem 3. és 4. szintű cégeknél dolgozik.

Amit elérhetsz, ha nem csinálsz hülyeségeket

Ha most kezd el dolgozni a programozási önképzésen, akkor a fizetése így nézhet ki: Régi szint 06-5

Terv

0-3 hónap (diák)

Nagyon keveset tudsz a programozásról. Lehet, hogy az iskolában vagy egy főiskolán tanultad alapszinten. Amit meg kell tennie, az az, hogy megtanulja programozni és megtanulni a Java-t. A cél az, hogy Java Junior Developerként dolgozzon egy 3. szintű vagy magasabb szintű vállalatnál. A terv első három hónapjában semmit sem kapsz, mert még csak programozni tanulsz. De minél korábban kezdi, annál jobb. A legjobb idő MOST. A jövőben, amikor családod lesz és rengeteg hiteled lesz, sokkal nehezebb lesz újrakvalifikálni. Annak érdekében, hogy kijavítsa a hibáját, pénzt kell félretennie, hogy legalább egy évig normális életet fizessen. Ne kövess el buta hibákat.

3-15 hónap (Java Junior fejlesztő)

Ön már szoftverfejlesztőként dolgozik, és tapasztalata naponta bővül. Ne lazíts. Sok dolgod van, mielőtt evezőkön pihensz. Amit tennie kell, az az , hogy tanulmányozza azokat a technológiákat, amelyekre középfejlesztőként szüksége lesz. Mik ezek? A világ folyamatosan változik. Megraklak tanácsokkal, és az élet mindent megváltoztat. Keressen néhány üres állást az interneten, és nézze meg, mire van szüksége. Feltétlenül olvassa el Bruce Eckel „Thinking in Java” című könyvét. Java Junior Developerként végzett munka első évében a cél az, hogy elérje a Java Middle Developer szintjét. Senki sem mondja, hogy ez könnyű lenne, de egy célorientált ember számára ez lehetséges. Ez egy pillanat alatt megnöveli a fizetését az „5 éves maximum” 40%-ára (50 000 USD SF és London, 6 000 USD Bangalore).

Kétéves programozás (Java Middle Developer, 1. szint)

Tavaly jó munkát végzett, most pedig Java Middle Developer. Elég jól meg lehet élni, ha megkeresi a Senior Java Developer fizetésének 50%-át. Komoly feladatokat kapsz a munkahelyeden, és jelentősen gyarapodik a tapasztalatod. Két-három éven belül eléri a Java Senior Developer szintjét. Nem kell sietni. Úgysem kapsz nagy fizetést. Amit tennie kell, az az, hogy megtanulja a tervezési mintákat, olvassa el – McConnell Code Complete. Tökéletesítse kódja minőségét és csapatkészségeit. Hozz létre egy szabályt, hogy havonta olvass el 1 könyvet a számítógépes programozásról. Aztán 4 év múlva 50 könyvvel okosabb leszel, mint a többi. Ne halogasd: nem lesz több szabadidőd, ráadásul nagy valószínűséggel családot alapítasz, vagy ha van, akkor még nagyobb lesz. A célodaz, hogy válasszunk néhány technológiát, amelyekre szakosodjunk vezető Java fejlesztőként. Nem tanulhatod meg mindegyiket, tudod. És mindig jó döntés egyetlen szakterületen guruvá válni. Régi szint 06-6

3D éves programozás (Java Middle Developer, 2. szint)

Ön most tapasztalt középfejlesztő, és azon gondolkodik, hogy vezető fejlesztő lesz. Kellemes és tekintélyes is. Az Ön fizetése meghaladja az „5 éves maximum” 60%-át (10 000 USD Bangaloreban, 25 000 USD Kijevben, 40 000 USD Berlinben, 80 000 USD New Yorkban). Ettől a pillanattól kezdve az Önhöz hasonló szakemberek iránti kereslet növekszik. Néhány napon belül mindig találhat munkát, és aligha fog kevesebbet keresni, mint most. Persze, ha nem csinálsz semmi hülyeséget. Amit tennie kell, azfolytassa a választott technológiák tanulmányozását. Dolgozz jobban. Nem a munkáltató kedvéért, hanem a saját érdekében. Jelentkezzen olyan projektekben való részvételre, amelyek ígéretes technológiákat tartalmaznak (például a BigData, a cikk írása jelenleg zajlik). Amúgy is napi 8 órát fog tölteni az irodában, szóval miért nem kap egy kicsit több pénzt érte, és ami még fontosabb, a legértékesebb tapasztalatot, amire a jövőben szüksége lesz. Az a célod, hogy új állást találj. Egy jó csapatot mindig találni kell. Új projektekkel és technológiákkal kell szembenéznie. Nem kell a székhez gyökerezni. Ha még mindig egy harmadik szintű vállalatnál dolgozik, gondoljon egy negyedik szintű alkalmazásra.

5. éves programozás (Java Senior Developer, 1. szint

Ön most vezető fejlesztő. Lehet, hogy nem érdemelted meg, és ezt érzed. Ennek ellenére gratulálok. Nem számít, hogy méltó-e most a pozíciójára, csak az számít, hogy a jövőben méltóvá váljon rá. Azt hiszem, egyetértesz azzal, hogy jobb, ha jó állást kapsz, és utána a szükséges szintre nősz, majd fordítva. Remélem, nem felejtette el azt a tanácsomat, hogy olvass el havonta egy könyvet? Bármely diák irigyelni fogja most tudását és készségeit. Pontosabban, imádkozni fog értük. Gondoljon csak bele: komoly keresete van, az „5 éves maximum” fizetés közel 90%-a. Valószínűleg még fiatal vagy. A világ a lábad előtt van. Amit tennie kell, azhogy újraértékelje a választott technológiákat. Talán szakterületet kell váltania. Változott a világ, változtak a technológiák, és az elmúlt két évben elég sok tudásra tettél szert. Amit most választ, az néhány következő évben a főcím lesz az Ön számára. Ideje kiválasztani kedvenc technológiáit. Célod a növekedési irány kiválasztása. Sok van, senki sem tudja megnevezni őket, de a választást most azonnal meg kell hoznia. Ha ma változtatsz egy kicsit, a jövőben nagyot fogsz tenni.

6. éves programozás (Java Senior Developer, 2. szint)

Döntöttél a jövődről, és azon dolgozol, hogy az álmod valóra váljon. Helyesen megválasztott irány, előrelépési vágy – és az eredmény nem tart sokáig. Gratulálunk. Örülök, hogy látom, hogy van még egy ember, aki elérte álmát. Van egy mély igazság. Az emberek gyakran túlbecsülik azt, amit egy év alatt elérhetnek, és alábecsülik azt, amit öt alatt. Nézz vissza öt évre. Olyan. Amit tenned kell, hogy kerüld az oktalan döntéseket, és ne legyél lusta. A célod az irány megválasztása és a továbblépés. Vagy azt hitted, hogy itt a vége? Emlékezz az érettségire. Ez nem a vég, ez csak a kezdet.

A jövőbeni specializáció

Régi szint 06-7Növekedhet műszaki szakemberként (felső ág), vezetőként (alsó ág) vagy bérelt szakemberként/független tanácsadóként (közepes ág). Minden attól függ, hogy mit preferálsz.

Java Developer karrierje

A fejlesztő karrierje különbözik a többitől. Nem kell menedzsernek lenni ahhoz, hogy jó pénzt keress. Gyakran előfordul, hogy egy Senior Developer többet keres, mint a menedzsere-főnöke. Minél több tapasztalatot szerez, annál erősebb a munkakapcsolata a főnökével a „főnök-beosztott” helyett „sztár és vezető”. Elkényeztetett , hogy tudják, hogy a fejlesztők projekteket és üresedéseket választanak. Örüljünk a sajátjainknak. Mi kell tehát ahhoz, hogy egy ilyen nagyra értékelt és világméretű népszerű fejlesztő legyél? Hatalmas tapasztalattal kell rendelkeznie a legkeresettebb és új technológiák terén. Hogyan lehet ezt elérni? Lásd alább. Régi szint 06-8Amint fejlesztői állást kapsz, két dolog kezd megtörténni veled; ennek ellenére nem mindig láthatók. 1. Valódi projektekben szerez tapasztalatot és gyorsan fejlődik. Egy év ebben a munkában több tapasztalatot ad, mint 5 év főiskolán. A tapasztalat annyira fontos kérdés, hogy a meghirdetett állások közé azt írják, hogy „Java fejlesztő 3 éves tapasztalattal szükséges”. 2. Napi 8 órában tanulod az új technológiákat, és jól fizetsz érte. Ezt a tényt tényleg nem lehet túlbecsülni. Egyes esetekben a megszerzett készségek annyira értékesek, hogy ingyen dolgozhattál volna ezek megszerzéséért, vagy akár fizethettél volna. Ha okosan választasz projekteket, amelyeken dolgozol, akkor egy fejforgató szoftverfejlesztői karrier előtt állsz. Szóval… mit válasszunk? Gyakran előfordul, hogy nem tudja, melyik technológia lesz hasznos, ezért elkezdi választani a „tetszik és nem tetszik” és a „divattrendek” között. Lehet szerencséd, vagy nem. Tehát jobb, ha előre tudja az úti célt. Rengeteg mód van a fejlődésre a programozók számára, ezért az egyszerűség kedvéért kiválasztok néhányat közülük, és leírom a jövőképemet. Ne gondolja, hogy ez a minta kemény vonal; ez inkább egy leegyszerűsített nézet a bemutatott dolgokról, hogy világos legyen.

Kétszáz éves fejlesztő

Ha a legjobban a programozást szereted, akkor ez az út: vezető fejlesztő, majd műszaki vezető fejlesztő és építész. Így akár 50 évig is dolgozhat fejlesztőként. A legtöbb esetben a vezető fejlesztők és a műszaki vezető fejlesztők fizetése meghaladja a vezetőik fizetését. Tehát kapja meg a pénzét.

Menedzser. Szerencséd van, hogy nem vagy olyan, mint a többiek

Átmentél az ellenséghez. Csak viccel. Ha nagyszerű szervezési készségeket fedez fel, akkor a következőképpen járhat el: csapatvezető, majd projektmenedzser. Lehetőséget ad arra, hogy osztályvezetővé váljon, és megnyissa saját vállalkozását. Ezt akarod, nem?

Ahol a szívünk, ott a hazánk

Régi szint 06-9Ha már családot alapított , akkor talán szép és nyugodt életet szeretne egy erős gazdasági helyzetben lévő országban. Talán azt fontolgatja, hogy Kanadába, az Egyesült Államokba, Svájcba vagy akár Ausztráliába költözik. Kiváló képességekkel és keresett szakmával rendelkezel. Nem kell a mosogatásból kiindulni. Java Senior Developerként fog kezdeni. Valószínűleg sokat keres. Nem rossz, mi?

Lásd Nápolyt, és ne halj meg.

Még nincs családod és szeretsz utazni . Az oDesk mindened. Keressen egy ügyfelet, fogadja el a 20-50 USD/óra díjszabást, vigyen magával egy laptopot és menjen! A fizetése elegendő lesz ahhoz, hogy a világon bárhol éljen. Miért nem kezdi el azonnal megvalósítani álmait?

Nem akarok programozni, lány vagyok.

Ha lány vagy , lehet, hogy szülési szabadságot kell kivennie . Szexista viccnek hangzik, és az is. Ennek ellenére sok józan ész van benne. Valószínűleg, ha szülési szabadságot vesz ki, sok szülési szabadsághoz juthat (a magas szociális védelemmel rendelkező országokban). Vannak cégek, amelyek semmit sem fizetnek, és vannak, amelyek jól fizetnek. Az egyik tanítványom az éves fizetés egyharmadát kapta szülési szabadságon. Ez pedig 2009 tavaszán történt, az elbocsátások idején. Másfél év múlva pedig visszatérhetsz, legalább középfejlesztőként.

Levvel 6

Régi szint 06-10

1 Elly. Objektum láthatósága. nulla

- Szia Amigo! - Szia Elly! Mesélsz ma valami érdekeset? - Ma egy tárgy élettartamáról fogok mesélni . Egy objektum létrehozása után addig létezik (él), amíg legalább egy változó el nem tárolja a címét (legalább egy objektumhivatkozás van). Ha már nincsenek hivatkozások, akkor az objektum meghal. Példák: Régi szint 06-11- A «cat Tommy» objektum az egyetlen sorban létezik a létrehozása óta. A következő sorban csak a hivatkozását tároló változó nullára lesz állítva, és a Java virtuális gép megsemmisíti az objektumot. - A «cat Sammy» objektum létrehozása után a cat1 változóban van tárolva. Illetve a cat1 tárol egy hivatkozást az objektumra. Ezután néhány sorral ez alatt a hivatkozás alatt átmásoljuk a cat2 változóba. Ezután egy másik objektumra való hivatkozás a cat1-ben tárolódik, és a «cat Sammy» hivatkozás csak a cat2-ben marad meg. Végül a main metódus utolsó sorában az objektum utolsó hivatkozása null értékre van állítva. - A «cat Maisy» objektum az egyetlen sorban létezik a létrehozása óta. A következő sorban a cat2 változó egy másik értéket kap, és a «cat Maisy»-ra való hivatkozás elvész. Az objektum elérhetetlenné válik, és szemétnek (halottnak) minősül. - A „macska gyömbér” objektum a létrehozásának pillanatától a metódus végéig létezik. Futás közben, amikor a metódus kilép, a cat1 változó megsemmisül, és a «cat Ginger» objektum után szintén megsemmisül. - Ez egyértelmű. - Ha azonban létrehozza a Cat objektumot valamilyen metódusban, és a hivatkozását egy osztályváltozóban tárolja, akkor a Cat mindaddig létezni fog, amíg van rá hivatkozás egy másik létező objektumból. - Általában egy tárgy nem semmisül meg azonnal. A Java virtuális gép időnként aktiválja a szemétgyűjtést a nem használt objektumok eltávolítására. Erről később mesélek. - Ha azt szeretné, hogy valamelyik változó ne tárolja az objektumhivatkozást, akkor null értéket vagy egy másik objektumra való hivatkozást rendelhet hozzá .

2 Professzor, Szemétgyűjtés

Régi szint 06-12- Szia Amigo! Itt van egy hasznos link a Java szemétgyűjtéséről. Ez természetesen nem az én kiváló előadásaim, de ez elég jó: a Java szemétgyűjtés alapjai

3 Elly, fejezd be

- Szia ismét! Most röviden bemutatom a finalize() metódust . Ezt a metódust a Java virtuális gép hívja meg az objektumon, mielőtt az objektum megsemmisül. Valójában ez a módszer ellentétes a konstruktorral. Ebben a módszerben lehetőség van egy objektum által használt erőforrások felszabadítására. - Az Object osztály rendelkezik ezzel a metódussal, ezért minden osztály rendelkezik vele ( a Java-ban minden osztályt az Object osztálytól örököltnek tekintünk, és annak metódusainak másolatát tartalmazza ). Ha beírod az osztályodba a finalize() metódust, és az meg lesz hívva, mielőtt az osztály objektumai megsemmisülnének. Példa: Régi szint 06-13- Értem. - De van egy dolog. A Java virtuális gép maga dönti el, hogy meghívja-e ezt a metódust vagy sem.Leggyakrabban a metódusban létrehozott és a kilépés után szemétnek nyilvánított objektumok azonnal és a finalize() metódus hívása nélkül megsemmisülnek. Ez a módszer egy újabb eszköz a külső (a JVM-en kívüli) erőforrás-allokáció ellenőrzésére. Jobb, ha felszabadítja az összes használt külső erőforrást, és visszaállítja a tárolt hivatkozásokat, amikor azt szeretné, hogy az objektum megsemmisüljön. 10 vagy 20 szinten elmondom ennek a módszernek az előnyeit és működésének részleteit. Eközben két dolgot tudnod kell: létezik ilyen módszer, és ( meglepetés! ) nem mindig hívják.

4 Elly, Az objektum élettartama

- Néhány érdekességet szeretnék elmondani a tárgy élettartamáról is. Java-ban nagyon nehéz véletlenül elveszíteni az objektumot; Ha van objektumhivatkozása, az azt jelenti, hogy az objektum biztosan él. - Az objektumhivatkozás belsejében ennek az objektumnak a számát – címét tárolja a memóriában. Ezt a számot nem módosíthatja, nem növelheti vagy csökkentheti. Nem hozhat létre hivatkozást, ha csak cím van a memóriában. Csak új objektumot hozhat létre, és annak hivatkozását egy változóhoz rendelheti. Ez az egyetlen módja annak, hogy új referenciát kapjunk. - Látom. Vagyis ha nullára állítom (törölöm) az összes objektumhivatkozást, akkor soha nem fogom megkapni az objektumhivatkozást és hozzáférni? - Igen. De gyakran ennek az ellenkezője igaz – túl sok élő tárgy van kihasználatlanul.A legtöbb program objektumok tucatjait hoz létre, és futás közben különböző listákon tárolja, de soha nem tisztítja meg ezeket a listákat. - Többnyire a programozók a nem kívánt objektumokat „törölt”-ként jelölik meg, ez minden. Senkit nem érdekel, hogy lekerüljenek a listákról. Így a nagy Java programok általában felduzzadnak – egyre több nem használt objektum marad életben a memóriában. - Ez minden. A jövőben mindig felhívom a figyelmet a használaton kívüli tárgyakra és azok megfelelő ártalmatlanítására. - Oké, köszönöm. Tisztáztál pár dolgot a referenciákkal kapcsolatban.

5 Diego, Objektum életre szóló feladatok

- Szia Amigo! Íme néhány feladat a számodra:
Feladatok
1 1. Cat osztály finalize() metódusa
Írjon védett metódust void finalize() dobás Dobható a Cat osztályban
3 2. Cat and Dog osztályok és finalize() metódus minden osztályhoz
Minden Cat and Dog osztályba írjon egy finalize() metódust, amely a képernyőn egy üzenetet jelenít meg, hogy az objektum megsemmisült.
3 3. 50 000 Cat osztály és 50 000 Dog osztály objektum
Hozzon létre egy hurokban 50 000 Cat osztály és 50 000 Dog osztály objektumot. (A Java virtuális gép megsemmisíti a nem használt objektumokat, ezért a finalize() metódus legalább egyszer meghívásra kerül).
4 4. Cat számláló A Cat osztály konstruktorában [public Cat()] növelje meg a macskaszámlálót (ugyanazon osztályú catCount statikus változó) 1-gyel. A finalize()
metódusban csökkentse 1-gyel.

6 Elly, Statikus osztályok és metódusok

- Itt egy új érdekes téma. A statikus változókról és módszerekről szeretnék beszélni. - Ó, már hallottam a statikus változókról. A statikus módszerekről is, gondolom. De szeretnék több részletet. - Amikor változókat deklarálunk egy osztályban, megadjuk, hogy ezek a változók egyetlen megosztott példányban jönnek-e létre, vagy minden objektumhoz szükséges másolatot készíteni. Alapértelmezés szerint ennek az osztálynak minden objektumához létrejön az osztályváltozó új másolata. Így néz ki: Régi szint 06-14- Bár a cat1.name és a cat2.name változók ugyanabban az osztályban vannak deklarálva. - Cat, eltérő értékeket tárolnak, mert különböző objektumokhoz vannak kötve. - Ez egyértelmű. - Egy statikus változó egyetlen példányban létezik; osztálynévvel kell elérni: Régi szint 06-15- Ez is egyértelmű. - Az osztálymetódusok is két kategóriába sorolhatók. A szokásos metódusok meghívásra kerülnek az objektumon, és hozzáférnek az objektum adataihoz. A statikus metódusoknak nincs ilyen hozzáférésük , mert egyszerűen nincs objektumhivatkozásuk. A statikus metódusok hozzáférhetnek ennek az osztálynak a statikus változójához vagy más statikus metódusokhoz. - A statikus metódusok nem férhetnek hozzá nem statikus metódusokhoz vagy nem statikus változókhoz! - Miért is? - Minden közönséges osztályváltozó egy objektumon belül van elhelyezve. Bármely metódus csak akkor férhet hozzá ehhez a változóhoz, ha hivatkozik az adott objektumra. Az ilyen hivatkozás nem kerül át statikus metódusba. - Mi a helyzet a hétköznapi módszerekkel? - A hagyományos metódusnak rejtett hivatkozást ad át az objektumra, amelyet ez a metódus hívott meg. A hivatkozást tároló változót ennek nevezzük . Így a metódus mindig megkaphatja saját objektumának adatait, vagy meghívhat ugyanannak az objektumnak egy másik, nem statikus metódusát. - Egy nullát ad át egy statikus metódusnak az objektumhivatkozás helyett. Ezért a statikus metódusok nem férhetnek hozzá a nem statikus változókhoz és metódusokhoz – egyszerűen nincs hivatkozása arra az objektumra, amelyhez kapcsolódnak. - Látom. - Így működnek a közönséges nem statikus módszerek: Régi szint 06-16- És így működnek a statikus módszerek: Régi szint 06-17- Egy változó vagy metódus statikus, ha a static kulcsszóval deklaráltuk. - És mire jók az ilyen módszerek, ha ennyire korlátozottak? - Ennek a megközelítésnek is megvannak a maga előnyei. - Először is, nem kell objektumhivatkozást átadnia a statikus metódusok és változók eléréséhez . - Másodszor, néha szükséges, hogy a változó egy az egyben . Mint például a System.out változó (statikus változó a System osztályból). - És harmadszor, néha meg kell hívni egy metódust, mielőtt bármilyen objektumot tudna létrehozni . - Milyen alkalomból? - Mit gondol, miért van statikusnak nyilvánítva a main method? Közvetlenül az osztály memóriába való betöltése után hívja meg, mielőtt bármilyen objektumot létrehozhatna.

7 Risha, Statikus osztályok és módszerek

- A statikus módszerek mellett vannak statikus osztályok is . Ezt az esetet később megfontoljuk, csak egy példát mutatok rá: Régi szint 06-18- A Cat osztályból annyi objektumot hozhat létre, amennyit csak akar. Ellentétben egy statikus változóval, amely egyetlen példányban létezik. - Az osztálydeklaráció előtti static módosító fő célja a Cat osztály és a StaticClassExample osztály közötti kapcsolat fenntartása . Általánosságban elmondható, hogy a Cat osztály nincs kötve (nincs rejtett hivatkozása) a StaticClassExample objektumhoz , és nem férhet hozzá a szokásos (nem statikus) StaticClassExample változókhoz. - Tehát létrehozhatok osztályokat más osztályokon belül? - Igen. A Java ezt lehetővé teszi. Most ne gondolkozz túl sokat. Később elmagyarázok még néhány dolgot, és minden egy kicsit könnyebb lesz. - Remélem.

8 Diego, Feladatok statikus módszerrel

- Szia Amigo! Íme néhány érdekes feladat a statikus módszerekkel kapcsolatban:
Feladatok
1 1. Osztály Cat és statikus változó catCount
Írjon egy statikus változót int catCount a Cat osztályba. Hozzon létre egy konstruktort [ public Cat() ], amelyben az adott változót 1-gyel kell növelni.
2 2. Statikus metódusok: int getCatCount() és setCatCount(int)
Adjunk hozzá két statikus metódust a Cat osztályhoz: int getCatCount( ) és setCatCount(int) , melyek segítségével lekérhetjük/módosíthatjuk a macskák számát (a catCount változót)
3 3. Osztály Util
Valósítson meg egy statikus metódust double getDistance(x1, y1, x2, y2) . Ki kell számítania a pontok közötti távolságot. Az átadott paraméter négyzetgyökének kiszámításához használja a double Math.sqrt(double a) metódust
4 4. Class ConsoleReader
Írjon egy ConsoleReader osztályt, amely 4 statikus metódussal rendelkezik:
- String readString() karakterláncok billentyűzetről történő olvasásához
- int readInt() számok beolvasásához a billentyűzetről
- double readDouble() törtszámok billentyűzetről történő olvasásához
- void readLn () várni az enter megnyomására [use readString()]
5 5. Osztály StringHelper
Írjon egy StringHelper osztályt, aminek 2 statikus metódusa lesz:
- String multiply(String s, int count) az s karakterlánc ismétlődő számlálását adja vissza.
- String multiply(String s) az s karakterláncot 5-ször ismételje vissza.

Példa:
Amigo → AmigoAmigoAmigoAmigoAmigo

9 Professzor, objektum statikus hatóköre és élettartama

Régi szint 06-19- Megint én vagyok. Sajnos ma nem tudok linket adni. Valahol elvesztek azok a nagyszerű előadások. Attól tartok, ma egyedül kell megtenned. De inkább hallgass inkább Ellyre és Rishára, mindig megtaníthatnak valamit. Mégis próbálja meg ezt: az objektum életciklusa

10 Julio

- Szia Amigo! Nagyszerű munkát végeztél ma. Ezért nem tudok többet adni. Gyerünk, üljön le, kezdődik a műsor:

11 Kapitány Mókus

- Szia katona! - Jó reggelt uram! - Van egy nagyszerű hírem a számodra. Íme egy gyors ellenőrzés, amellyel erősítheti képességeit. Csináld minden nap, és gyorsan fejleszted képességeidet. A feladatokat kifejezetten az Intellij IDEA-ban való használatra tervezték.
További feladatok az Intellij Idea programban
1 Osztály Cat és statikus változó catCount
Írjon egy statikus változót public int catCount a Cat osztályba. Hozzon létre egy konstruktort [public Cat()]. Hagyja, hogy a catCount statikus változó 1-gyel növekedjen minden alkalommal, amikor macskát (egy új Cat objektumot) hoz létre. Hozzon létre 10 Cat objektumot, és jelenítse meg a catCount változó értékét .
2 2. Statikus macskák
  1. Adjon hozzá egy nyilvános statikus cats változót (ArrayList<Cat>) a Cat osztályba.
  2. Minden alkalommal, amikor létrehoz egy macskát (egy új objektumot Cat), hagyja, hogy ez az új macska hozzáadódjon a macskák változóhoz . Hozzon létre 10 objektumot Cat.
  3. A printCats() metódusnak meg kell jelenítenie az összes macskát. A módszerben a cats változót kell használni.
Tipp: Cats
változó létrehozásához használja a következő kódsort: public static ArrayList<Cat> cats = new ArrayList<Cat>();
3 3. Mozgass egy statikus módosítót
Mozgass egy statikus módosítót a kód fordításához.
4 4. Statikus kulcsszavak minimális száma
Adja hozzá a minimális számú statikus kulcsszót a kód lefordításához és a program sikeres befejezéséhez.
5 5. Van valami új ötleted? Gondolkozzunk...
  1. Írjon egy nyilvános statikus osztályt Ötlet a Megoldás osztályba
  2. Írjon egy public String getDescription() metódust az Idea osztályba bármely nem üres üzenet visszaadásához
  3. A Solution osztályban hozzon létre egy statikus metódust public void printIdea(Ötletötlet) az ötlet leírásának megjelenítéséhez - ezt adja vissza a getDescription() metódus
6 6. KissMyShinyMetalAss
Írj egy KissMyShinyMetalAss nevű osztályt. Hozzon létre egy objektumot ebből az osztályból, majd jelenítse meg a képernyőn.
7 7. Három statikus változó neve
Írjon 3 nyilvános statikus változót: String Megoldásnév , String Cat.name , String Kutyanév
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION