Roadmap di uno sviluppatore Java

Un mio amico si chiedeva perché gli sviluppatori sono sempre così felici. La risposta con cui è arrivata è stata semplice e sorprendente: fanno quello che vogliono e guadagnano un sacco di soldi. Benvenuti nel mondo degli sviluppatori di software. Vecchio livello 06 - 1

Lo stipendio dello sviluppatore di software

Vorrei parlarvi degli stipendi degli sviluppatori. Come si trova la terra con gli stipendi, dove dovresti andare a lavorare e dove non dovresti. Se non sei uno sviluppatore e provi a risolverlo da solo, potresti ottenere dati piuttosto controversi. Il punto principale è che il fattore principale che influenza lo stipendio di uno sviluppatore non è la qualifica, ma il luogo di lavoro. A volte, a parità di livello di qualifica, la differenza tra un posto di lavoro buono e uno cattivo può essere da 2 a 10 volte (!) Ogni dato momento in cui la tua qualifica è costante. Non puoi diventare due volte più qualificato in un mese ed essere pagato il doppio. Ma puoi cambiare posto di lavoro in un mese e ottenere uno stipendio due volte più alto. Una volta nel flusso di due mesi il mio stipendio moltiplicato per tre (!) – Esperienza indimenticabile. Quindi, scopriamo qual è il posto migliore.
  1. Se l'attività principale di un'azienda è lo sviluppo di software
  2. Se l'azienda è orientata al mercato globale o locale
  3. Dove si trova l'ufficio principale: paese sviluppato o paese in via di sviluppo
Nota che la città in cui lavori è irrilevante. Significa che se a Barcellona guadagni cinque volte meno del tuo amico a New York, probabilmente i fattori che ho citato hanno influito. 

Numeri specifici

Poiché gli stipendi sono diversi nelle diverse parti del mondo, propongo di prendere lo stipendio di Senior Java Developer con 5 anni di esperienza come punto di partenza e chiamarlo "5 anni al massimo". Tutte le cifre sottostanti saranno fornite in percentuale di tale importo. Ecco alcuni esempi di stipendi "5 anni massimi" in diverse città del mondo: Vecchio livello 06 - 2Di seguito viene mostrato quanto può guadagnare un Java Senior Developer con 5 anni di esperienza a seconda dell'azienda per cui lavora: Vecchio livello 06 - 3Vecchio livello 06 - 4Qual è la cosa più strana della situazione attuale? La metà di tutti i programmatori lavora in aziende di 1 e 2 livello. Vuoi sapere, qual è l'inghippo? Ci sono centinaia di posti vacanti aperti in aziende di 3 e 4 livello. Queste aziende sono disposte ad offrirti stipendi più alti e, di solito, migliori condizioni di lavoro. Conosco due Java Junior, uno di loro ha ottenuto un lavoro pagando circa il 3% di "5 anni massimi" (azienda di livello 1), e un altro ha ottenuto un lavoro con il 30% di "5 anni massimi" di stipendio (livello 4). Allora perché ottenere di meno? La domanda di programmatori supera l'offerta: non andare a lavorare dove sei pagato di meno! Conclusione 1: lo stipendio medio per gli sviluppatori Java (con qualsiasi esperienza) è del 40% -50% dello stipendio "massimo 5 anni". Conclusione 2: il tuo stipendio medio in 5 anni sarà circa il 90%-110% dello stipendio "massimo 5 anni", se non lavori per aziende di livello 1 e 2 e lavori per aziende di livello 3 e 4.

Cosa puoi ottenere se non fai cose stupide

Se inizi a lavorare sulla tua autoeducazione nella programmazione in questo momento, il tuo stipendio può assomigliare a questo: Vecchio livello 06 - 5

Piano

0-3 mesi (studente)

Sai molto poco di programmazione. Potresti averlo studiato a scuola o in un college a livello base. Quello che devi fare è imparare a programmare e imparare Java. Il tuo obiettivo è ottenere un lavoro come Java Junior Developer in un'azienda di livello 3 o superiore. Per i primi tre mesi del piano non otterrai nulla, perché stai solo imparando a programmare. Ma prima inizi meglio è. Il momento migliore è ORA. In futuro, quando avrai una famiglia e tanti prestiti, sarà molto più difficile riqualificarti. Per rimediare al tuo errore dovrai mettere da parte dei soldi per pagarti almeno un anno di vita normale. Non commettere errori stupidi.

3-15 mesi (sviluppatore Java Junior)

Lavori già come sviluppatore di software e la tua esperienza cresce ogni giorno. Non rilassarti. Hai molto da fare prima di riposare sui remi. Quello che devi fare è studiare le tecnologie di cui avrai bisogno come sviluppatore intermedio. Cosa sono questi? Il mondo è in continua evoluzione. Ti caricherò di consigli e la vita cambierà tutto. Trova alcuni posti vacanti sul web e vedi cosa ti serve per candidarti. Assicurati di leggere un libro di Bruce Eckel "Thinking in Java". Il tuo obiettivo nel primo anno di lavoro come Java Junior Developer è raggiungere il livello di Java Middle Developer. Nessuno dice che sarebbe facile, ma è possibile per una persona orientata agli obiettivi. Aumenterà il tuo stipendio in un istante fino al 40% di "5 anni massimi" ($ 50.000 per San Francisco e Londra, $ 6.000 per Bangalore).

Programmazione di 2 anni (Java Middle Developer, livello 1)

Hai fatto un buon lavoro l'anno scorso e ora sei un Java Middle Developer. Puoi vivere abbastanza bene guadagnando il 50% dello stipendio di Senior Java Developer. Ti vengono assegnati alcuni compiti seri al lavoro e la tua esperienza cresce in modo significativo. Raggiungerai il livello di Java Senior Developer in due o tre anni. Non c'è bisogno di affrettarsi. Non otterrai comunque grosse somme di stipendio. Quello che devi fare è imparare i modelli di progettazione, leggere - McConnell's Code Complete. Perfeziona la qualità del tuo codice e le abilità del tuo team. Crea una regola di lettura di 1 libro sulla programmazione per computer ogni mese. Poi, in 4 anni sarai 50 libri più intelligente di tutti gli altri. Non rimandare: non avrai più tempo libero, inoltre, molto probabilmente creerai una famiglia, o se ne avrai una, diventerà più grande. Il tuo obiettivoè scegliere alcune tecnologie in cui specializzarsi come Senior Java Developer. Non puoi impararli tutti, lo sai. Ed è sempre una buona decisione diventare guru in una singola specializzazione. Vecchio livello 06 - 6

Programmazione di 3 anni (Java Middle Developer, livello 2)

Ora sei un Middle Developer esperto e stai pensando di diventare un Senior Developer. È piacevole oltre che prestigioso. Il tuo stipendio supera il 60% del "massimo 5 anni" ($ 10.000 a Bangalore, $ 25.000 a Kiev, $ 40.000 a Berlino, $ 80.000 a New York). Da questo momento on demand per professionisti come te sale l'offerta. Riuscirai sempre a trovare un lavoro in un paio di giorni e difficilmente guadagnerai meno di adesso. Questo, ovviamente, se non fai niente di stupido. Quello che devi fare ècontinua a studiare le tecnologie che hai scelto. Lavora meglio. Non per il bene del tuo datore di lavoro, per il tuo. Fai domanda per partecipare a progetti che coinvolgono tecnologie promettenti (come BigData, al momento in cui questo articolo è in fase di scrittura). Trascorrerai comunque 8 ore al giorno in ufficio, quindi perché non guadagnare un po' più di denaro e, cosa molto più importante, l'esperienza più preziosa di cui avrai bisogno in futuro. Il tuo obiettivo è trovare un nuovo lavoro. Una buona squadra si trova sempre. Ti troverai di fronte a nuovi progetti e tecnologie. Non è necessario radicarsi sulla sedia. Se lavori ancora in un'azienda di terzo livello, pensa di assumere in un'azienda di quarto livello.

Programmazione del 5° anno (Java Senior Developer, livello 1

Ora sei uno sviluppatore senior. Forse non te lo meritavi e lo senti. Comunque, le mie congratulazioni. Non importa se sei degno della tua posizione ora, conta solo che tu ne diventi degno in futuro. Penso che sarai d'accordo che è meglio ottenere un buon lavoro e poi crescere fino al livello richiesto e viceversa. Spero che tu non abbia dimenticato il mio consiglio di leggere un libro al mese? Qualsiasi studente invidierà le tue conoscenze e abilità ora. Per essere più precisi, pregherà su di loro. Pensaci: hai guadagni seri, vicini al 90% dello stipendio "massimo 5 anni". Probabilmente sei ancora giovane. Il mondo è ai tuoi piedi. Quello che devi fare èper rivalutare le tecnologie che hai scelto. Forse, devi cambiare specializzazione. Il mondo è cambiato, le tecnologie sono cambiate e negli ultimi due anni hai acquisito una certa conoscenza. Quello che scegli ora diventerà il titolo per alcuni dei prossimi anni per te. È ora di scegliere le tue tecnologie preferite. Il tuo obiettivo è scegliere la tua direzione di crescita. Sono numerosi, nessuno può nominarli tutti, ma la tua scelta va fatta subito. Se fai un piccolo cambiamento oggi, ne avrai uno grande in futuro.

Programmazione del 6° anno (Java Senior Developer, livello 2)

Hai deciso il tuo futuro e stai lavorando per realizzare il tuo sogno. Una direzione scelta correttamente insieme al desiderio di andare avanti – e il risultato non tarderà. Congratulazioni. Sono felice di vedere che c'è un'altra persona che ha realizzato il suo sogno. C'è una profonda verità. Le persone spesso sopravvalutano ciò che possono ottenere in un anno e sottovalutano ciò che possono fare in cinque. Guarda cinque anni indietro. È così. Quello che devi fare è evitare decisioni imprudenti e non essere pigro. Il tuo obiettivo è scegliere la direzione e andare avanti. Oppure pensavate che finisse qui? Ricorda la tua laurea. Non è la fine, è solo l'inizio.

La tua futura specializzazione

Vecchio livello 06 - 7Puoi crescere come specialista tecnico (ramo superiore), come dirigente (ramo inferiore) o come libero professionista/consulente indipendente (ramo medio). Tutto dipende da cosa preferisci.

La carriera di sviluppatore Java

La carriera dello sviluppatore è diversa da qualsiasi altra. Non è necessario diventare un manager per guadagnare bene. Capita spesso che un Senior Developer guadagni di più del suo manager-capo. Più esperienza ottieni, più forti sono i tuoi rapporti di lavoro con il tuo capo che cambiano da "capo subordinato" a "star e manager". Viziati sapendo che il loro valore gli sviluppatori scelgono progetti e posti vacanti. Rallegriamoci per i nostri. Allora, di cosa hai bisogno per diventare uno sviluppatore così apprezzato e popolare su scala mondiale? Devi avere una vasta esperienza nelle tecnologie più richieste e nuove. Come raggiungere questo obiettivo? Vedi sotto. Vecchio livello 06 - 8Non appena ottieni un lavoro come sviluppatore, due cose iniziano a succederti; tuttavia, non sono sempre visibili. 1. Acquisisci esperienza in progetti reali e cresci velocemente. Un anno in questo lavoro ti dà più esperienza di 5 anni al college. L'esperienza è una questione così importante che scrivono "Sviluppatore Java con 3 anni di esperienza richiesti" nelle offerte di lavoro pubblicate. 2. Studi nuove tecnologie 8 ore al giorno e vieni ben pagato per questo. Non puoi davvero sopravvalutare questo fatto. In alcuni casi le abilità acquisite sono così preziose che avresti potuto lavorare gratuitamente per ottenerle o addirittura pagare. Se scegli i progetti su cui lavorare con saggezza, stai per avere una carriera da sviluppatore di software da far girare la testa. Quindi... cosa scegliere? Capita spesso di non sapere quale tecnologia ti sarà utile, quindi inizi a scegliere tra “mi piace e non mi piace” e “tendenze moda”. Potresti essere fortunato oppure no. Quindi faresti meglio a conoscere la tua destinazione in anticipo. Ci sono un sacco di modi per evolversi per i programmatori, quindi, per semplificare, ne sceglierò alcuni e scriverò la mia visione della situazione futura. Non pensare che questo modello sia una linea dura; è piuttosto una visione semplificata delle cose presentate per chiarire.

Sviluppatore di duecento anni

Se ti piace soprattutto programmare, allora questa è la tua strada: Senior Developer, poi Tech Lead Developer e un architetto. In questo modo puoi lavorare come sviluppatore per 50 anni e più. Nella maggior parte dei casi, gli stipendi dei Senior Developer e dei Tech Lead Developer superano quelli dei loro manager. Quindi ottieni il valore dei tuoi soldi.

Manager. Sei fortunato a non essere come gli altri

Sei passato al nemico. Stavo solo scherzando. Se scopri grandi capacità organizzative, allora la tua strada è: Team Lead, e poi Project Manager. Ti darà la possibilità di diventare capo dipartimento e aprire un'attività in proprio. Questo è quello che vuoi, non è vero?

La casa è dove c'è il cuore

Vecchio livello 06 - 9Se hai già creato una famiglia , allora, forse, desideri avere una vita piacevole e tranquilla in un paese con una forte economia. Forse stai pensando di trasferirti in Canada, Stati Uniti, Svizzera o persino in Australia. Hai ottime capacità e una professione richiesta. Non dovrai iniziare dal lavare i piatti. Inizierai come Java Senior Developer. Probabilmente, guadagnando molto. Non male, eh?

Vedere Napoli e non morire.

Non hai ancora una famiglia e ami viaggiare . oDesk è il tuo tutto. Trova un cliente, accetta una tariffa di $ 20- $ 50 l'ora, porta con te un laptop e vai! Il tuo stipendio sarà sufficiente per vivere in qualsiasi parte del mondo. Perché non iniziare subito a realizzare i tuoi sogni?

Non voglio programmare, sono una ragazza...

Se sei una ragazza , potresti dover prendere un congedo di maternità . Sembra uno scherzo sessista, e lo è. Tuttavia, c'è molto buon senso in esso. Molto probabilmente, prendendo un congedo di maternità sarai in grado di ottenere molti soldi per il congedo di maternità (nei paesi con un'elevata protezione sociale). Ci sono aziende che non pagano nulla, e ci sono quelle che pagano bene. Uno dei miei studenti ha ottenuto un terzo dello stipendio annuale in congedo di maternità. E questo è accaduto nella primavera del 2009, durante la cassa integrazione. E tra un anno e mezzo potresti tornare, essendo almeno uno sviluppatore intermedio.

Livello 6

Vecchio livello 06 - 10

1 Elly. Visibilità dell'oggetto. nullo

- Ehi, Amico! - Ciao, Elly! Mi racconti qualcosa di interessante oggi? - Oggi vi parlerò della vita di un oggetto . Dopo che un oggetto è stato creato, esiste (vive) finché almeno una variabile memorizza il suo indirizzo (c'è almeno un riferimento a un oggetto). Se non ci sono più riferimenti, l'oggetto muore. Esempi: Vecchio livello 06 - 11- L'oggetto «gatto Tommy» esiste in un'unica riga dal momento in cui è stato creato. Nella riga successiva, l'unica variabile che memorizza il suo riferimento è impostata su null e la macchina virtuale Java distrugge l'oggetto. - L'oggetto «gatto Sammy» dopo la sua creazione viene memorizzato nella variabile cat1. O meglio, cat1 memorizza un riferimento all'oggetto. Quindi un paio di righe sotto questo riferimento vengono copiate nella variabile cat2. Successivamente un riferimento a un altro oggetto viene memorizzato in cat1, e il riferimento a «cat Sammy» rimane solo in cat2. Infine, nell'ultima riga del metodo main, l'ultimo riferimento all'oggetto è impostato a null. - L'oggetto «gatto Maisy» esiste in un'unica riga dal momento in cui è stato creato. Nella riga successiva alla variabile cat2 viene assegnato un altro valore e si perde il riferimento a «cat Maisy». L'oggetto diventa irraggiungibile ed è considerato immondizia (morto). - L'oggetto «gatto Ginger» esiste dal momento in cui è stato creato fino alla fine del metodo. In fase di esecuzione, quando il metodo esce, la variabile cat1 verrà distrutta, e dopo verrà distrutto anche l'oggetto «cat Ginger». - È chiaro. - Tuttavia, se crei l'oggetto Cat in un metodo e memorizzi il suo riferimento in una variabile di classe, allora Cat esisterà finché c'è un riferimento ad esso da un altro oggetto esistente. - Di solito, un oggetto non viene distrutto immediatamente. La macchina virtuale Java attiva occasionalmente la raccolta dei rifiuti per rimuovere gli oggetti inutilizzati. Te ne parlerò più tardi. - Se si desidera che una variabile smetta di memorizzare un riferimento a un oggetto, è possibile assegnarle un valore nullo o un riferimento a un altro oggetto.

2 Professore, Raccolta dei rifiuti

Vecchio livello 06 - 12- Ehi, Amico! Ecco un link utile sulla raccolta dei rifiuti in Java. Non sono certamente le mie lezioni eccellenti, ma è abbastanza buono: Java Garbage Collection Basics

3 Elly, finalizza

- Ciao di nuovo! Ora ti darò una breve introduzione al metodo finalize() . Questo metodo viene chiamato da Java virtual machine sull'oggetto prima che l'oggetto venga distrutto. In effetti, questo metodo è opposto al costruttore. In questo metodo è possibile rilasciare le risorse utilizzate da un oggetto. - La classe Object ha questo metodo, quindi ogni classe lo ha ( tutte le classi in Java sono considerate ereditate dalla classe Object e contengono una copia dei suoi metodi ). Se scrivi nella tua classe il metodo finalize() e verrà chiamato prima che gli oggetti di questa classe vengano distrutti. Esempio: Vecchio livello 06 - 13- Capito. - Ma c'è una cosa. La macchina virtuale Java decide autonomamente se chiamare o meno questo metodo.Molto spesso, gli oggetti creati nel metodo e dichiarati come spazzatura dopo la sua uscita, vengono distrutti immediatamente e senza alcuna chiamata al metodo finalize(). Questo metodo è un ulteriore strumento di controllo sull'allocazione delle risorse esterne (fuori dalla JVM). Faresti meglio a rilasciare tutte le risorse esterne utilizzate e ripristinare i riferimenti memorizzati quando desideri che l'oggetto venga distrutto. Ti parlerò dei vantaggi di questo metodo e dei dettagli del suo lavoro in 10 o 20 livelli. Intanto dovete sapere due cose: tale metodo esiste, e ( sorpresa! ) non sempre viene chiamato.

4 Elly, Vita dell'oggetto

- Voglio anche dirti un paio di cose interessanti sulla vita dell'oggetto. In Java, è molto difficile perdere accidentalmente l'oggetto; se hai un riferimento a un oggetto, significa che l'oggetto è sicuramente vivo. - All'interno di un oggetto di riferimento memorizza un numero - indirizzo di questo oggetto in memoria. Non puoi cambiare quel numero, aumentarlo o diminuirlo. Non puoi creare un riferimento quando hai solo un indirizzo in memoria. Puoi solo creare un nuovo oggetto e assegnare il suo riferimento a una variabile. Questo è l'unico modo per ottenere un nuovo riferimento. - Vedo. Cioè, se imposto su null (cancella) tutti i riferimenti all'oggetto, non otterrò mai il riferimento all'oggetto e accederò ad esso? - Sì. Ma spesso è vero il contrario: ci sono troppi oggetti vivi inutilizzati.La maggior parte dei programmi crea dozzine di oggetti e li archivia in elenchi diversi in fase di esecuzione, ma non li pulisce mai. - Per lo più, i programmatori etichettano gli oggetti indesiderati come "eliminati", tutto qui. A nessuno interessa la loro rimozione dalle liste. Quindi i programmi Java di grandi dimensioni tendono a gonfiarsi: sempre più oggetti inutilizzati rimangono vivi nella memoria. - È tutto. In futuro attirerò sempre la vostra attenzione sugli oggetti inutilizzati e sul loro corretto smaltimento. - Va bene, grazie. Hai chiarito un paio di cose sui riferimenti.

5 Diego, Attività di durata dell'oggetto

- Ehi, Amico! Ecco un paio di compiti per te:
Compiti
1 1. metodo finalize() della classe Cat
Scrivere un metodo protected void finalize() throws Throwable nella classe Cat
3 2. Classi Gatto e Cane e metodo finalize() per ogni classe
In ogni classe Gatto e Cane scrivete un metodo finalize() , che mostra sullo schermo un messaggio che l'oggetto è stato distrutto.
3 3. 50.000 oggetti di classe Cat e 50.000 oggetti di classe Dog
Crea in un ciclo 50.000 oggetti di classe Cat e 50.000 oggetti di classe Dog. (Java virtual machine distruggerà gli oggetti inutilizzati, quindi il metodo finalize() verrà chiamato almeno una volta).
4 4. Cat counter
Nel costruttore della classe Cat [public Cat()], aumenta il cat counter (variabile statica catCount della stessa classe) di 1. Nel metodo finalize() diminuisci di 1.

6 Elly, Classi e metodi statici

- Ecco un nuovo argomento interessante. Voglio parlarvi delle variabili statiche e dei metodi. - Oh, ho già sentito parlare di variabili statiche. Anche sui metodi statici, immagino. Ma vorrei avere maggiori dettagli. - Quando si dichiarano variabili in una classe, specifichiamo se queste variabili sono create in una singola istanza condivisa, o se è necessario creare le loro copie per ogni oggetto. Per impostazione predefinita, viene creata una nuova copia della variabile di classe per ogni oggetto di questa classe. Ecco come appare: Vecchio livello 06 - 14- Sebbene le variabili cat1.name e cat2.name siano dichiarate nella stessa classe - Cat, memorizzano valori diversi, perché sono associate a oggetti diversi. - È chiaro. - Una variabile statica esiste in una singola istanza; devi accedervi usando un nome di classe: Vecchio livello 06 - 15- È anche chiaro. - Anche i metodi di classe sono divisi in due categorie. I metodi ordinari vengono chiamati sull'oggetto e hanno accesso ai dati di questo oggetto. I metodi statici non hanno tale accesso , perché semplicemente non hanno un riferimento all'oggetto. I metodi statici sono in grado di accedere alle variabili statiche di questa classe o ad altri metodi statici. - I metodi statici non possono accedere a metodi non statici o variabili non statiche! - Perchè così? - Ogni variabile di classe ordinaria viene inserita all'interno di un oggetto. Qualsiasi metodo può accedere a tale variabile solo quando ha un riferimento a quell'oggetto. Tale riferimento non viene passato al metodo statico. - E i metodi ordinari? - Al metodo ordinario viene passato il riferimento nascosto all'oggetto su cui viene chiamato questo metodo. La variabile che memorizza questo riferimento si chiama this . Pertanto, il metodo può sempre ottenere i dati del proprio oggetto o chiamare un altro metodo non statico dello stesso oggetto. - Un valore null viene passato a un metodo statico anziché a un riferimento a un oggetto. Pertanto, un metodo statico non può accedere a variabili e metodi non statici: semplicemente non ha alcun riferimento all'oggetto a cui sono associati. - Vedo. - Questo è il modo in cui funzionano i normali metodi non statici: Vecchio livello 06 - 16- Ed è così che funzionano i metodi statici: Vecchio livello 06 - 17- Una variabile o un metodo è statico se sono dichiarati con la parola chiave static. - E a cosa servono questi metodi, se sono così limitati? - Anche questo approccio ha i suoi vantaggi. - Innanzitutto, non è necessario passare alcun riferimento a un oggetto per accedere a metodi e variabili statici . - In secondo luogo, a volte è necessario che la variabile sia univoca . Come, ad esempio, la variabile System.out (variabile statica fuori dalla classe System). - E terzo, a volte è necessario chiamare un metodo prima di poter creare qualsiasi oggetto . - In quale occasione? - Perché pensi che il metodo main sia dichiarato statico? Per chiamarlo immediatamente dopo che la classe è stata caricata in memoria prima che sia possibile creare qualsiasi oggetto.

7 Risha, Classi e metodi statici

- Oltre ai metodi statici ci sono anche classi statiche . Considereremo questo caso più avanti, ti mostrerò solo un esempio: Vecchio livello 06 - 18- Puoi creare tutti gli oggetti della classe Gatto che desideri. A differenza di una variabile statica, che esiste in una singola istanza. - Lo scopo principale del modificatore static prima di una dichiarazione di classe è mantenere una relazione tra la classe Cat e la classe StaticClassExample . In generale, la classe Cat non è associata (non ha riferimenti nascosti) all'oggetto StaticClassExample e non può accedere alle normali variabili StaticClassExample (non statiche). - Quindi posso creare classi all'interno di altre classi? - Sì. Java lo rende possibile. Ora, non pensarci troppo. Più avanti spiegherò altre cose e tutto diventerà un po' più semplice. - Lo spero.

8 Diego, Compiti sul metodo statico

- Ehi, Amico! Ecco alcuni compiti interessanti sui metodi statici:
Compiti
1 1. Classe Cat e variabile statica catCount
Scrivere una variabile statica int catCount nella classe Cat. Crea un costruttore [ public Cat() ], in cui la variabile data dovrebbe essere aumentata di 1.
2 2. Metodi statici: int getCatCount() e setCatCount(int)
Aggiungi due metodi statici alla classe Cat: int getCatCount( ) e setCatCount(int) usando i quali puoi ottenere/modificare il numero di gatti (la variabile catCount)
3 3. Class Util
Implementa un metodo statico double getDistance(x1, y1, x2, y2) . Dovrebbe calcolare la distanza tra i punti. Utilizzare il metodo double Math.sqrt(double a) per calcolare la radice quadrata del parametro passato
4 4. Classe ConsoleReader
Scrivere una classe ConsoleReader, che avrà 4 metodi statici:
- String readString() per leggere le stringhe dalla tastiera
- int readInt() per leggere i numeri dalla tastiera
- double readDouble() per leggere i numeri frazionari dalla tastiera
- void readLn () per attendere la pressione di invio [usa readString()]
5 5. Classe StringHelper
Scrivere una classe StringHelper, che avrà 2 metodi statici:
- String multiply(String s, int count) dovrebbe restituire la stringa s count volte ripetuta.
- String multiply(String s) dovrebbe restituire la stringa s ripetuta 5 volte.

Esempio:
Amigo → AmigoAmigoAmigoAmigoAmigo

9 Professore, scopo statico dell'oggetto e durata

Vecchio livello 06 - 19- Sono di nuovo io. Sfortunatamente, non posso darti nessun link oggi. Quelle grandi conferenze sono perse da qualche parte. Temo che oggi dovrai fare da solo. Ma è meglio che ascolti di più Elly e Risha, possono sempre insegnarti qualcosa. Eppure prova questo: Object Lifecycle

10 Giulio

- Ehi, Amico! Hai fatto un ottimo lavoro oggi. Ecco perché non posso darti di più. Dai, siediti, inizia lo spettacolo:

11 Capitano Scoiattoli

- Ciao, soldato! - Buongiorno signore! - Ho delle notizie fantastiche per te. Ecco un rapido controllo per rafforzare le tue abilità. Fallo ogni giorno e migliorerai rapidamente le tue abilità. Le attività sono appositamente progettate per essere eseguite in Intellij IDEA.
Attività aggiuntive da svolgere in Intellij Idea
1 Classe Cat e variabile statica catCount
Scrivere una variabile statica public int catCount nella classe Cat. Creare un costruttore [public Cat()]. Lascia che la variabile statica catCount aumenti di 1 ogni volta che crei un gatto (un nuovo oggetto Gatto). Crea 10 oggetti Cat e visualizza il valore della variabile catCount .
2 2. Gatti statici
  1. Aggiungere una variabile statica pubblica cats (ArrayList<Cat>) nella classe Cat.
  2. Ogni volta che crei un gatto (un nuovo oggetto Gatto), aggiungi questo nuovo gatto alla variabile gatti . Crea 10 oggetti Cat.
  3. Il metodo printCats() dovrebbe visualizzare tutti i gatti. È necessario utilizzare la variabile gatti nel metodo.
Suggerimento:
per creare la variabile cats utilizzare la riga di codice:
public static ArrayList<Cat> cats = new ArrayList<Cat>();
3 3. Spostare un modificatore statico
Spostare un modificatore statico in modo che il codice venga compilato.
4 4. Numero minimo di parole chiave statiche
Aggiungere il numero minimo di parole chiave statiche per consentire la compilazione del codice e il completamento del programma.
5 5. Qualche nuova idea? Pensiamo...
  1. Scrivere una classe statica pubblica Idea nella classe Solution
  2. Scrivi un metodo public String getDescription() nella classe Idea per restituire qualsiasi messaggio non vuoto
  3. Nella classe Solution crea un metodo statico public void printIdea(Idea idea) per visualizzare una descrizione dell'idea - ecco cosa restituisce il metodo getDescription()
6 6. KissMyShinyMetalAss
Scrivi una classe chiamata KissMyShinyMetalAss. Crea un oggetto di questa classe, quindi visualizzalo sullo schermo.
7 7. Tre variabili statiche name
Scrivi 3 variabili statiche pubbliche: String Solution.name , String Cat.name , String Dog.name