CodeGym /Java Blog /Willekeurig /Oud niveau 06
John Squirrels
Niveau 41
San Francisco

Oud niveau 06

Gepubliceerd in de groep Willekeurig

Roadmap van een Java-ontwikkelaar

Een vriend van mij vroeg zich af waarom ontwikkelaars altijd zo blij zijn. Het antwoord dat ze kwam was simpel en verrassend: ze doen wat ze leuk vinden en verdienen veel geld. Welkom in de wereld van softwareontwikkelaars. Oud niveau 06 - 1

Het salaris van een softwareontwikkelaar

Ik wil je iets vertellen over de salarissen van ontwikkelaars. Hoe het land ligt met salarissen, waar je wel en niet moet gaan werken. Als u geen ontwikkelaar bent en het zelf probeert uit te puzzelen, krijgt u mogelijk nogal controversiële gegevens. Het belangrijkste punt is dat de belangrijkste factor die van invloed is op het salaris van een ontwikkelaar niet de kwalificatie is, maar de plaats van tewerkstelling. Soms kan bij een gelijk kwalificatieniveau het verschil tussen goede en slechte arbeidsplaats 2 tot 10 keer(!) zijn op elk moment dat je kwalificatie constant is. Je kunt niet in een maand twee keer zo gekwalificeerd worden en twee keer zoveel betaald krijgen. Maar je kunt binnen een maand van werkplek veranderen en een dubbel zo hoog salaris krijgen. Eenmaal in de stroom van twee maanden mijn salaris vermenigvuldigd met drie (!) Onvergetelijke ervaring. Laten we dus eens kijken welke plaats het beste is.
  1. Of de hoofdactiviteit van een bedrijf softwareontwikkeling is
  2. Of het bedrijf nu georiënteerd is op de globale of lokale markt
  3. Waar is het hoofdkantoor gevestigd: ontwikkeld land of ontwikkelingsland
Houd er rekening mee dat de stad waarin u werkt niet relevant is. Dit betekent dat als je in Barcelona vijf keer minder verdient dan je vriend in New York, de factoren die ik heb genoemd waarschijnlijk van invloed zijn geweest. 

Specifieke nummers

Aangezien de salarissen in verschillende delen van de wereld verschillen, stel ik voor om het salaris van Senior Java Developer met 5 jaar ervaring als uitgangspunt te nemen en dit "maximaal 5 jaar" te noemen. Alle onderstaande cijfers worden gegeven als een percentage van dit bedrag. Hier zijn enkele voorbeelden van "5 jaar maximum" salarissen in verschillende steden van de wereld: Oud niveau 06 - 2Hieronder wordt getoond hoeveel een Java Senior Developer met 5 jaar ervaring kan verdienen, afhankelijk van het bedrijf waarvoor hij werkt: Oud niveau 06 - 3Oud niveau 06 - 4Wat is het vreemdste aan de huidige situatie? De helft van alle programmeurs werkt in bedrijven op 1 en 2 niveau. Wil je weten wat het addertje onder het gras is? Er zijn honderden openstaande vacatures in 3 en 4 level bedrijven. Deze bedrijven zijn bereid om u hogere salarissen en meestal betere arbeidsvoorwaarden te bieden. Ik ken twee Java Junior's, een van hen kreeg een baan die ongeveer 3% van "5 jaar maximum" betaalde (niveau 1 bedrijf), en een ander kreeg een baan met 30% van "5 jaar maximum" salaris (niveau 4). Dus waarom minder krijgen? De vraag naar programmeurs is groter dan het aanbod - ga niet werken waar je minder betaald krijgt! Conclusie 1: Het gemiddelde salaris voor Java-ontwikkelaars (met enige ervaring) is 40%-50% van het "5 jaar maximum" salaris. Conclusie 2: Uw gemiddelde salaris over 5 jaar zal ongeveer 90%-110% van het “5 jaar maximum” salaris zijn, als u niet werkt voor niveau 1 en 2 bedrijven, maar wel voor bedrijven niveau 3 en 4.

Wat je kunt bereiken tenzij je domme dingen doet

Als je nu aan je zelfstudie in programmeren begint te werken, kan je salaris er zo uitzien: Oud niveau 06 - 5

Plan

0-3 maand (student)

Je weet heel weinig van programmeren. Je hebt het misschien op school of op een universiteit op basisniveau gestudeerd. Wat u moet doen, is leren programmeren en Java leren. Je doel is om een ​​baan te krijgen als Java Junior Developer in een bedrijf van niveau 3 of hoger. De eerste drie maanden van het plan krijg je niets, omdat je net leert programmeren. Maar hoe eerder je begint, hoe beter. De beste tijd is NU. Als je in de toekomst een gezin hebt en heel veel leningen hebt, zal het veel moeilijker worden om je opnieuw te kwalificeren. Om je fout recht te zetten, moet je geld opzij leggen om in ieder geval een jaar normaal leven te kunnen betalen. Maak geen domme fouten.

3-15 maanden (Java Junior Developer)

Je werkt al als softwareontwikkelaar en je ervaring groeit dagelijks. Ontspan niet. Je hebt veel te doen voordat je op roeispanen gaat rusten. Wat je moet doen, is technologieën bestuderen die je nodig hebt als middenontwikkelaar. Wat zijn deze? De wereld verandert voortdurend. Ik zal je overladen met adviezen en het leven zal het allemaal veranderen. Zoek een paar vacatures op internet en kijk wat je nodig hebt om te solliciteren. Lees zeker een boek van Bruce Eckel “Thinking in Java”. Je doel in het eerste jaar als Java Junior Developer is om het niveau van Java Middle Developer te bereiken. Niemand zegt dat dat gemakkelijk zou zijn, maar dat is mogelijk voor een doelgericht persoon. Het verhoogt uw salaris in een oogwenk tot 40% van "maximaal 5 jaar" ($ 50.000 voor SF en Londen, $ 6.000 voor Bangalore).

2-jarig jaar programmeren (Java Middle Developer, level 1)

Je hebt het afgelopen jaar goed werk geleverd en nu ben je een Java Middle Developer. Je kunt redelijk goed leven door 50% van het salaris van een Senior Java Developer te verdienen. Je krijgt een aantal serieuze taken op het werk en je ervaring groeit aanzienlijk. In twee of drie jaar bereik je het niveau van Java Senior Developer. Geen reden om te haasten. Je krijgt sowieso geen hoge inkomens. Wat u moet doen, is ontwerppatronen leren, lezen - McConnell's Code Complete. Perfectioneer de kwaliteit van uw code en teamvaardigheden. Maak een regel om elke maand 1 boek over computerprogrammering te lezen. Dan ben je over 4 jaar 50 boeken slimmer dan de rest. Stel het niet uit: je zult niet meer vrije tijd krijgen, bovendien zul je hoogstwaarschijnlijk een gezin stichten, of als je er een hebt, zal het groter worden. Jou doelis om een ​​paar technologieën te kiezen om je als Senior Java Developer in te specialiseren. Je kunt ze niet allemaal leren, weet je. En het is altijd een goede beslissing om goeroe te worden in een enkele specialisatie. Oud niveau 06 - 6

3-d jaar programmeren (Java Middle Developer, level 2)

Je bent nu een ervaren Middle Developer en je denkt erover om Senior Developer te worden. Het is zowel aangenaam als prestigieus. Uw salaris overschrijdt 60% van "5 jaar maximum" ($ 10.000 in Bangalore, $ 25.000 in Kiev, $ 40.000 in Berlijn, $ 80.000 in New York). Vanaf dit moment stijgt de vraag naar professionals zoals jij. Je vindt altijd binnen een paar dagen een baan en je zult bijna nooit minder verdienen dan nu. Dat natuurlijk, als je geen domme dingen doet. Wat je moet doen isblijf de technologieën bestuderen die je hebt gekozen. Werk beter. Niet voor je werkgever, maar voor jezelf. Meld u aan om deel te nemen aan projecten met veelbelovende technologieën (zoals BigData, op het moment dat dit artikel wordt geschreven). Je zult sowieso 8 uur per dag op kantoor doorbrengen, dus waarom zou je er niet wat meer geld voor krijgen, en, wat veel belangrijker is, de meest waardevolle ervaring die je in de toekomst nodig zult hebben. Je doel is om een ​​nieuwe baan te vinden. Er is altijd een goed team te vinden. Je krijgt te maken met nieuwe projecten en technologieën. U hoeft niet naar uw stoel te wroeten. Als je nog steeds in een bedrijf op het derde niveau werkt, denk er dan over na om in dienst te treden bij een bedrijf op het vierde niveau.

5e jaar programmeren (Java Senior Developer, niveau 1

Je bent nu Senior Developer. Misschien heb je het niet verdiend en voel je het. Toch mijn felicitaties. Het maakt niet uit of je je positie nu waardig bent, het gaat er alleen om of je het in de toekomst waardig wordt. Ik denk dat je het ermee eens zult zijn dat het beter is om een ​​goede baan te krijgen en daarna door te groeien naar het vereiste niveau, en andersom. Ik hoop dat je mijn advies om één boek per maand te lezen niet bent vergeten? Elke student zal nu jaloers zijn op je kennis en vaardigheden. Om specifieker te zijn, hij zal op hen bidden. Denk er maar eens over na: u heeft een serieus inkomen, bijna 90% van het "5 jaar maximum" salaris. Je bent waarschijnlijk nog jong. De wereld ligt aan je voeten. Wat je moet doen isom technologieën die u hebt gekozen opnieuw te evalueren. Misschien moet u van specialisatie veranderen. De wereld is veranderd, technologieën zijn veranderd en je hebt de afgelopen twee jaar behoorlijk wat kennis opgedaan. Wat u nu kiest, wordt de komende jaren de kop voor u. Het is tijd om uw favoriete technologieën te kiezen. Je doel is om je groeirichting te kiezen. Ze zijn talrijk, niemand kan ze allemaal noemen, maar uw keuze moet nu worden gemaakt. Als je vandaag een kleine verandering maakt, krijg je in de toekomst een grote verandering.

6e jaar programmeren (Java Senior Developer, level2)

Je hebt een beslissing genomen over je toekomst en je werkt aan je droom om uit te komen. Een correct gekozen richting samen met het verlangen om vooruit te gaan - en het resultaat zal niet lang op zich laten wachten. Gefeliciteerd. Ik ben blij te zien dat er nog een persoon zijn droom heeft waargemaakt. Er is één diepe waarheid. Mensen overschatten vaak wat ze in een jaar kunnen bereiken en onderschatten wat ze in vijf jaar kunnen doen. Kijk vijf jaar terug. Het is zo. Wat u moet doen, is onverstandige beslissingen vermijden en niet lui zijn. Je doel is om richting te kiezen en vooruit te gaan. Of dacht je dat het hier eindigt? Denk aan je afstuderen. Het is niet het einde, het is slechts het begin.

Je toekomstige specialisatie

Oud niveau 06 - 7Je kunt doorgroeien als technisch specialist (bovenste branche), als management (onderste branche) of als ingehuurd professional/zelfstandig adviseur (middelgrote branche). Het hangt allemaal af van wat je voorkeur heeft.

De carrière van een Java-ontwikkelaar

De carrière van een ontwikkelaar is anders dan alle andere. Je hoeft geen manager te worden om goed geld te verdienen. Het komt regelmatig voor dat een Senior Developer meer verdient dan zijn manager-baas. Hoe meer ervaring je opdoet, hoe sterker je werkrelatie met je baas verandert van 'baas-ondergeschikt' in 'ster en de manager'. Verwend wetende wat ze waard zijn, kiezen ontwikkelaars projecten en vacatures. Laten we blij zijn voor die van ons. Dus wat heb je nodig om zo'n zeer gewaardeerde en populaire ontwikkelaar van wereldformaat te worden? Je moet enorme ervaring hebben met de meest gevraagde en nieuwe technologieën. Hoe dit te bereiken? Zie hieronder. Oud niveau 06 - 8Zodra je een baan als ontwikkelaar krijgt, gebeuren er twee dingen met je; toch zijn ze niet altijd zichtbaar. 1. Je doet ervaring op in echte projecten en groeit snel. Een jaar in deze baan geeft je meer ervaring dan 5 jaar op de universiteit. Ervaring is zo'n belangrijk punt dat ze bij de geplaatste vacatures "Java-ontwikkelaar met 3 jaar ervaring vereist" schrijven. 2. Je bestudeert 8 uur per dag nieuwe technologieën en wordt er goed voor betaald. Je kunt dit feit echt niet overschatten. In sommige gevallen zijn vaardigheden die je opdoet zo waardevol dat je er gratis voor had kunnen werken of zelfs kon betalen. Als je projecten kiest waar je verstandig aan werkt, sta je op het punt een baanbrekende carrière als softwareontwikkelaar te beginnen. Dus... wat te kiezen? Het komt vaak voor dat je niet weet welke technologie nuttig zal zijn, dus begin je te kiezen op “vind ik leuk en niet leuk” en “modetrends”. Misschien heb je geluk of misschien niet. U kunt dus maar beter uw bestemming van tevoren weten. Er zijn tal van manieren om te evolueren voor programmeurs, dus om het eenvoudig te maken, zal ik er een paar kiezen en mijn visie op de toekomstige situatie opschrijven. Denk niet dat dit patroon een harde lijn is; het is eerder een vereenvoudigde weergave van de gepresenteerde dingen om het duidelijk te maken.

Tweehonderd jaar oude ontwikkelaar

Als je vooral van programmeren houdt, dan is dit jouw manier: Senior Developer, dan Tech Lead Developer en een architect. Zo kun je 50 jaar en langer aan de slag als ontwikkelaar. In de meeste gevallen zijn de salarissen van Senior Developers en Tech Lead Developers hoger dan die van hun managers. Dus krijg waar voor je geld.

Manager. Je hebt geluk dat je niet bent zoals de anderen

Je ging naar de vijand. Grapje. Als je geweldige organisatievaardigheden ontdekt, dan is jouw manier: teamleider en vervolgens projectmanager. Het geeft je de kans om afdelingshoofd te worden en je eigen bedrijf te openen. Dat is wat je wilt, nietwaar?

Oost, West, thuis best

Oud niveau 06 - 9Als je al een gezin hebt gesticht , dan wil je misschien een fijn en rustig leven leiden in een land met een sterke economie. Misschien overweegt u om naar Canada, de VS, Zwitserland of zelfs Australië te verhuizen. Je hebt uitstekende vaardigheden en een veelgevraagd beroep. U hoeft niet te beginnen met afwassen. Je gaat aan de slag als Java Senior Developer. Waarschijnlijk veel verdienen. Niet slecht, hé?

Napels zien en niet sterven.

Je hebt nog geen gezin en je houdt van reizen . oDesk is uw alles. Zoek een klant, spreek een tarief af van $20-$50 per uur, neem een ​​laptop mee en gaan! Uw salaris is voldoende om overal ter wereld te wonen. Waarom begin je niet meteen met het waarmaken van je dromen?

Ik wil niet programmeren, ik ben een meisje..

Als je een meisje bent , moet je mogelijk zwangerschapsverlof opnemen . Het klinkt als een seksistische grap, en dat is het ook. Toch zit er veel gezond verstand in. Door zwangerschapsverlof op te nemen, kunt u hoogstwaarschijnlijk veel geld voor zwangerschapsverlof krijgen (in landen met een hoge sociale bescherming). Er zijn bedrijven die niets betalen, en er zijn bedrijven die goed betalen. Een van mijn studenten kreeg een derde van het jaarsalaris tijdens zwangerschapsverlof. En dit gebeurde in het voorjaar van 2009, tijdens ontslagen. En over anderhalf jaar kom je misschien terug, in ieder geval Middle Developer.

Niveau 6

Oud niveau 06 - 10

1 Elly. Zichtbaarheid van objecten. nul

- Hé, Amigo! - Hallo, elly! Vertel je me vandaag iets interessants? - Vandaag vertel ik je over de levensduur van een object . Nadat een object is gemaakt, bestaat het (leeft) totdat ten minste één variabele zijn adres opslaat (er is ten minste één objectreferentie). Als er geen referenties meer zijn, sterft het object. Voorbeelden: Oud niveau 06 - 11- Het object «kat Tommy» bestaat in de enige regel sinds het is gemaakt. In de volgende regel wordt die enige variabele die zijn referentie opslaat, ingesteld op null en vernietigt de virtuele Java-machine het object. - Het object «cat Sammy» nadat het is gemaakt, wordt opgeslagen in variabele cat1. Of beter gezegd, cat1 slaat een verwijzing naar het object op. Vervolgens wordt een paar regels onder deze referentie gekopieerd naar de variabele cat2. Daarna wordt een verwijzing naar een ander object opgeslagen in cat1, en de verwijzing naar «cat Sammy» blijft alleen in cat2. Ten slotte wordt in de laatste regel van de methode main de laatste verwijzing naar het object op null gezet. - Het object «cat Maisy» bestaat in de enige regel sinds het is gemaakt. In de volgende regel krijgt de variabele cat2 een andere waarde en gaat de verwijzing naar «cat Maisy» verloren. Het object wordt onbereikbaar en wordt als afval (dood) beschouwd. - Het object «cat Ginger» bestaat vanaf het moment dat het is gemaakt tot het einde van de methode. Wanneer de methode tijdens runtime wordt afgesloten, wordt de variabele cat1 vernietigd en daarna wordt het object «cat Ginger» ook vernietigd. - Het is duidelijk. - Als u echter het object Cat op een of andere manier maakt en de referentie ervan opslaat in een klassevariabele, dan blijft Cat bestaan ​​zolang er een verwijzing naar is vanuit een ander bestaand object. - Meestal wordt een object niet meteen vernietigd. De virtuele Java-machine activeert af en toe de afvalinzameling om ongebruikte objecten te verwijderen. Daar vertel ik je later over. - Als u wilt dat een variabele stopt met het opslaan van een objectreferentie, kunt u deze een null- waarde toewijzen of een verwijzing naar een ander object.

2 Professor, vuilnisophaaldienst

Oud niveau 06 - 12- Hé, Amigo! Hier is een handige link over de afvalinzameling in Java. Dat zijn zeker niet mijn uitstekende colleges, maar dat is goed genoeg: Java Garbage Collection Basics

3 Elly, afronden

- Welkom terug! Nu zal ik je een korte introductie geven van de methode finalize() . Deze methode wordt aangeroepen door de virtuele Java-machine op het object voordat het object wordt vernietigd. In feite is deze methode tegengesteld aan de constructor. Bij deze methode is het mogelijk om de bronnen vrij te geven die door een object worden gebruikt. - De klasse Object heeft deze methode, daarom heeft elke klasse deze ( alle klassen in Java worden beschouwd als geërfd van de klasse Object en bevatten een kopie van de methoden ). Als u de methode finalize() in uw klasse schrijft, wordt deze aangeroepen voordat objecten van deze klasse worden vernietigd. Voorbeeld: Oud niveau 06 - 13- Begrepen. - Maar er is één ding. De virtuele Java-machine beslist zelf of deze methode wordt aangeroepen of niet.Meestal worden objecten die in de methode zijn gemaakt en na het verlaten ervan als afval worden gedeclareerd, onmiddellijk en zonder enige aanroep van de methode finalize() vernietigd. Deze methode is nog een instrument voor controle over externe (buiten JVM) toewijzing van middelen. U kunt beter alle gebruikte externe bronnen vrijgeven en opgeslagen referenties opnieuw instellen wanneer u wilt dat het object wordt vernietigd. Ik zal je vertellen over de voordelen van deze methode en de details van zijn werk in 10 of 20 niveaus. In de tussentijd moet u twee dingen weten: zo'n methode bestaat, en ( verrassing! ) wordt hij niet altijd genoemd.

4 Elly, Objectlevensduur

- Ik wil je ook een paar interessante dingen vertellen over de levensduur van objecten. In Java is het erg moeilijk om het object per ongeluk te verliezen; als u een objectreferentie heeft, betekent dit dat het object zeker leeft. - Binnen een objectreferentie wordt een nummer – adres van dit object in het geheugen opgeslagen. U kunt dat aantal niet wijzigen, verhogen of verlagen. U kunt geen referentie maken als u alleen een adres in het geheugen hebt. U kunt alleen een nieuw object maken en de referentie ervan toewijzen aan een variabele. Dit is de enige manier om een ​​nieuwe referentie te krijgen. - Ik zie. Dat wil zeggen, als ik alle objectreferenties op nul zet (wissen), krijg ik nooit de objectreferentie en krijg ik er geen toegang toe? - Ja. Maar vaak is het tegenovergestelde waar - er zijn te veel levende objecten ongebruikt.De meeste programma's maken tientallen objecten en slaan ze tijdens runtime op in verschillende lijsten, maar ze maken die lijsten nooit schoon. - Meestal bestempelen programmeurs ongewenste objecten als "verwijderd", dat is alles. Niemand geeft om hun verwijdering van de lijsten. Dus grote Java-programma's hebben de neiging om op te zwellen - steeds meer ongebruikte objecten blijven levend in het geheugen. - Dat is alles. In de toekomst zal ik altijd uw aandacht vestigen op ongebruikte objecten en de juiste verwijdering ervan. - ОK, bedankt. Je hebt een aantal dingen over de referenties opgehelderd.

5 Diego, Levensduurtaken van objecten

- Hé, Amigo! Hier zijn een paar taken voor je:
Taken
1 1. methode finalize() van klasse Cat
Schrijf een methode beschermd leegte finalize() gooit Throwable in de klasse Cat
3 2. Klassen Cat en Dog en methode finalize() voor elke klasse
Schrijf in elke klasse Cat en Dog een methode finalize() die op het scherm een ​​bericht weergeeft dat het object is vernietigd.
3 3. 50.000 objecten van de Cat-klasse en 50.000 objecten van de Dog-klasse
Maak in een lus 50.000 objecten van de Cat-klasse en 50.000 objecten van de Dog-klasse. (De virtuele Java-machine vernietigt ongebruikte objecten, dus de methode finalize() wordt minstens één keer aangeroepen).
4 4. Cat-teller
Verhoog in Cat class constructor [public Cat()] de cat-teller (statische variabele catCount van dezelfde klasse) met 1. Verlaag in de methode finalize() met 1.

6 Elly, Statische klassen en methoden

- Hier is een nieuw interessant onderwerp. Ik wil je vertellen over de statische variabelen en methoden. - Oh, ik heb al gehoord over statische variabelen. Ook over statische methoden, denk ik. Maar ik zou graag meer details hebben. - Bij het declareren van variabelen in een klasse specificeren we of deze variabelen in een enkele gedeelde instantie worden gemaakt, of dat het nodig is om hun kopieën voor elk object te maken. Standaard wordt voor elk object van deze klasse een nieuwe kopie van de klassevariabele gemaakt. Zo ziet het eruit: Oud niveau 06 - 14- Hoewel de variabelen cat1.name en cat2.name in dezelfde klasse worden gedeclareerd - Cat, slaan ze verschillende waarden op, omdat ze gebonden zijn aan verschillende objecten. - Het is duidelijk. - Een statische variabele bestaat in één instantie; je moet er toegang toe krijgen door een klassenaam te gebruiken: Oud niveau 06 - 15- Het is ook duidelijk. - De klassemethoden zijn ook onderverdeeld in twee categorieën. Gewone methoden worden op het object aangeroepen en hebben toegang tot de gegevens van dit object. Statische methoden hebben dergelijke toegang niet , omdat ze gewoon geen objectreferentie hebben. Statische methoden hebben toegang tot de statische variabele van deze klasse of tot andere statische methoden. - Statische methoden hebben geen toegang tot niet-statische methoden of niet-statische variabelen! - Waarom? - Elke gewone klassevariabele wordt in een object geplaatst. Elke methode heeft alleen toegang tot een dergelijke variabele als deze een verwijzing naar dat object heeft. Een dergelijke verwijzing wordt niet doorgegeven aan de statische methode. - Hoe zit het met gewone methoden? - Aan de gewone methode wordt een verborgen verwijzing doorgegeven naar het object waarop deze methode wordt aangeroepen. De variabele die deze referentie opslaat, wordt dit genoemd . De methode kan dus altijd gegevens van zijn eigen object ophalen of een andere niet-statische methode van hetzelfde object aanroepen. - Een null wordt doorgegeven aan een statische methode in plaats van een objectreferentie. Daarom heeft een statische methode geen toegang tot niet-statische variabelen en methoden - het heeft alleen geen verwijzing naar het object waaraan ze gebonden zijn. - Ik zie. - Zo werken gewone niet-statische methoden: Oud niveau 06 - 16- En zo werken statische methoden: Oud niveau 06 - 17- Een variabele of een methode is statisch als ze worden gedeclareerd met het sleutelwoord statisch. - En wat heb je aan zulke methoden, als ze zo beperkt zijn? - Deze aanpak heeft ook zijn voordelen. - Ten eerste hoeft u geen objectreferentie door te geven om toegang te krijgen tot statische methoden en variabelen . - Ten tweede is het soms nodig dat de variabele uniek is . Zoals bijvoorbeeld de variabele System.out (statische variabele uit de klasse System). - En ten derde is het soms nodig om een ​​methode aan te roepen voordat je objecten kunt maken . - Bij welke gelegenheid? - Waarom denk je dat de methode main statisch verklaard wordt? Om het aan te roepen onmiddellijk nadat de klasse in het geheugen is geladen voordat het mogelijk is om objecten te maken.

7 Risha, Statische klassen en methoden

- Naast statische methoden zijn er ook statische klassen . We zullen dit geval later bekijken, ik zal je er slechts een voorbeeld van laten zien: Oud niveau 06 - 18- Je kunt zoveel objecten van de klasse Cat maken als je wilt. In tegenstelling tot een statische variabele, die in één instantie bestaat. - Het hoofddoel van de modifier static voor een klassedeclaratie is het behouden van een relatie tussen de klasse Cat en de klasse StaticClassExample . Over het algemeen is klasse Cat niet gebonden (heeft geen verborgen referentie) aan het StaticClassExample-object en heeft het geen toegang tot gewone (niet-statische) StaticClassExample-variabelen. - Zodat ik klassen binnen andere klassen kan maken? - Ja. Java maakt dit mogelijk. Nu, denk er niet te veel over na. Later zal ik nog wat andere dingen uitleggen, en dan wordt alles een beetje makkelijker. - Ik hoop het.

8 Diego, Taken op statische methode

- Hé, Amigo! Hier zijn enkele interessante taken over statische methoden:
Taken
1 1. Klasse Cat en statische variabele catCount
Schrijf een statische variabele int catCount in de klasse Cat. Maak een constructor [ public Cat() ], waarin de gegeven variabele met 1 moet worden verhoogd.
2 2. Statische methodes: int getCatCount() en setCatCount(int)
Voeg twee statische methodes toe aan de klasse Cat: int getCatCount( ) en setCatCount(int) waarmee je het aantal katten kan krijgen/wijzigen (de variabele catCount)
3 3. Class Util
Implementeer een statische methode double getDistance(x1, y1, x2, y2) . Het zou de afstand tussen punten moeten berekenen. Gebruik de methode double Math.sqrt(double a) om de vierkantswortel van de doorgegeven parameter te berekenen
4 4. Class ConsoleReader
Schrijf een klasse ConsoleReader, die 4 statische methoden zal hebben:
- String readString() om strings van het toetsenbord te lezen
- int readInt() om getallen van het toetsenbord te lezen
- double readDouble() om gebroken getallen van het toetsenbord te lezen
- void readLn () om te wachten op enter [gebruik readString()]
5 5. Klasse StringHelper
Schrijf een klasse StringHelper, die 2 statische methoden zal hebben:
- String multiply(String s, int count) zou de herhaalde teltijden van de string moeten teruggeven.
- String multiply(String s) moet de string s 5 keer herhalen.

Voorbeeld:
Amigo → AmigoAmigoAmigoAmigoAmigo

9 Professor, object statische reikwijdte en levensduur

Oud niveau 06 - 19- Ik ben het weer. Helaas kan ik u vandaag geen links geven. Die geweldige lezingen zijn ergens verloren gegaan. Ik ben bang dat je het vandaag alleen moet doen. Maar je kunt beter meer luisteren naar Elly en Risha, die kunnen je altijd iets leren. Maar probeer deze eens: Object Lifecycle

10 juli

- Hé, Amigo! Je hebt geweldig werk geleverd vandaag. Daarom kan ik je gewoon niet meer geven. Kom op, ga zitten, de show begint:

11 Kapitein Eekhoorns

- Hallo, soldaat! - Goedemorgen meneer! - Ik heb geweldig nieuws voor je. Hier is een snelle check om je vaardigheden te versterken. Doe het elke dag en je zult je vaardigheden snel verbeteren. Taken zijn speciaal ontworpen om te doen in Intellij IDEA.
Extra taken te doen in Intellij Idea
1 Klasse Cat en statische variabele catCount
Schrijf een statische variabele public int catCount in de klasse Cat. Maak een constructor [public Cat()]. Laat de statische variabele catCount elke keer dat u een kat maakt (een nieuw object Kat) met 1 toenemen. Maak 10 objecten Cat en toon de waarde van de variabele catCount .
2 2. Statische katten
  1. Voeg een openbare statische variabele cats (ArrayList<Cat>) toe in de klasse Cat.
  2. Elke keer dat je een kat maakt (een nieuw object Kat), laat je deze nieuwe kat toevoegen aan de variabele katten . Maak 10 objecten Cat.
  3. De methode printCats() zou alle katten moeten tonen. U moet de variabele katten in de methode gebruiken.
Tip: Gebruik coderegel om de variabele cats
te maken : public static ArrayList<Cat> cats = new ArrayList<Cat>();
3 3. Verplaats een statische modifier
Verplaats een statische modifier zodat de code wordt gecompileerd.
4 4. Minimum aantal statische trefwoorden
Voeg het minimum aantal statische trefwoorden toe om de code te laten compileren en het programma succesvol af te ronden.
5 5. Nieuwe ideeën? Laten we nadenken...
  1. Schrijf een openbare statische klasse Idee in de klasse Oplossing
  2. Schrijf een methode public String getDescription() in de klasse Idea om elk niet-leeg bericht terug te geven
  3. Maak in de klasse Solution een statische methode public void printIdea(Idea idea) om een ​​beschrijving van het idee weer te geven - dat is wat de methode getDescription() retourneert
6 6. KissMyShinyMetalAss
Schrijf een klasse met de naam KissMyShinyMetalAss. Maak een object van deze klasse en toon het vervolgens op het scherm.
7 7. Naam van drie statische variabelen
Schrijf 3 openbare statische variabelen: String Solution.name , String Cat.name , String Dog.name
Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION