CodeGym /Java-Blog /Random-DE /Alte Ebene 06
John Squirrels
Level 41
San Francisco

Alte Ebene 06

Veröffentlicht in der Gruppe Random-DE

Roadmap eines Java-Entwicklers

Ein Freund von mir hat sich gefragt, warum Entwickler immer so glücklich sind. Die Antwort, die sie erhielt, war einfach und überraschend: Sie machen, was sie wollen, und verdienen viel Geld. Willkommen in der Welt der Softwareentwickler. Alte Ebene 06 – 1

Gehalt eines Softwareentwicklers

Ich möchte Ihnen etwas über die Gehälter der Entwickler erzählen. Wie das Land mit den Gehältern aussieht, wo man arbeiten sollte und wo nicht. Wenn Sie kein Entwickler sind und versuchen, es selbst herauszufinden, erhalten Sie möglicherweise ziemlich kontroverse Daten. Der Hauptpunkt ist, dass der Hauptfaktor, der das Gehalt eines Entwicklers beeinflusst, nicht die Qualifikation, sondern der Ort der Anstellung ist. Bei gleichem Qualifikationsniveau kann der Unterschied zwischen gutem und schlechtem Arbeitsplatz manchmal das 2- bis 10-fache(!) betragen. Zu jedem Zeitpunkt ist Ihre Qualifikation konstant. Sie können sich nicht in einem Monat doppelt so gut qualifizieren und doppelt so viel verdienen. Aber Sie können innerhalb eines Monats den Arbeitsplatz wechseln und das Doppelte Ihres Gehalts erhalten. Einmal im Laufe von zwei Monaten verdreifachte sich mein Gehalt (!) – ein unvergessliches Erlebnis. Also, lasst uns herausfinden, welcher Ort der beste ist.
  1. Ob das Hauptgeschäft eines Unternehmens die Softwareentwicklung ist
  2. Ob das Unternehmen auf den globalen oder lokalen Markt ausgerichtet ist
  3. Wo befindet sich die Hauptniederlassung: Industrieland oder Entwicklungsland?
Beachten Sie, dass die Stadt, in der Sie arbeiten, irrelevant ist. Das heißt, wenn Sie in Barcelona fünfmal weniger verdienen als Ihr Freund in New York, haben die von mir genannten Faktoren wahrscheinlich einen Einfluss darauf. 

Spezifische Zahlen

Da die Gehälter in verschiedenen Teilen der Welt unterschiedlich sind, schlage ich vor, das Gehalt eines leitenden Java-Entwicklers mit 5 Jahren Erfahrung als Ausgangspunkt zu nehmen und es „maximal 5 Jahre“ zu nennen. Alle nachstehenden Zahlen werden als Prozentsatz dieses Betrags angegeben. Hier sind einige Beispiele für „5-Jahres-Höchstgehälter“ in verschiedenen Städten der Welt: Alte Ebene 06 - 2Nachfolgend wird gezeigt, wie viel ein Java Senior Developer mit 5-Jahres-Erfahrung je nach Unternehmen verdienen kann, für das er arbeitet: Alte Ebene 06 – 3Alte Ebene 06 - 4Was ist das Merkwürdigste an der aktuellen Situation? Die Hälfte aller Programmierer arbeitet in Unternehmen der 1. und 2. Ebene. Willst du wissen, was der Haken ist? Es gibt Hunderte von offenen Stellen in Unternehmen der 3. und 4. Ebene. Diese Unternehmen sind bereit, Ihnen höhere Gehälter und in der Regel bessere Arbeitsbedingungen anzubieten. Ich kenne zwei Java-Junioren, einer von ihnen bekam einen Job mit etwa 3 % des „5-Jahres-Höchstgehalts“ (Unternehmen der Stufe 1) und ein anderer bekam einen Job mit 30 % des „5-Jahres-Höchstgehalts“ (Stufe 4). Warum also weniger bekommen? Die Nachfrage nach Programmierern übersteigt das Angebot – arbeiten Sie nicht dort, wo Sie weniger verdienen! Schlussfolgerung 1: Das durchschnittliche Gehalt für Java-Entwickler (mit beliebiger Erfahrung) beträgt 40–50 % des „5-Jahres-Höchstgehalts“. Schlussfolgerung 2: Ihr durchschnittliches Gehalt in 5 Jahren wird etwa 90–110 % des „5-Jahres-Höchstgehalts“ betragen, wenn Sie nicht für Unternehmen der Stufen 1 und 2, sondern für Unternehmen der Stufen 3 und 4 arbeiten.

Was Sie erreichen können, wenn Sie nicht dumme Dinge tun

Wenn Sie jetzt anfangen, sich im Programmieren selbst weiterzubilden, kann Ihr Gehalt wie folgt aussehen: Alte Ebene 06 - 5

Planen

0-3 Monate (Student)

Sie wissen sehr wenig über Programmierung. Möglicherweise haben Sie es in der Schule oder an einer Hochschule auf Grundniveau gelernt. Was Sie tun müssen, ist zu lernen, wie man Java programmiert und lernt. Ihr Ziel ist es, einen Job als Java Junior Developer in einem Unternehmen der Stufe 3 oder höher zu bekommen. In den ersten drei Monaten des Plans erhalten Sie nichts, da Sie gerade erst das Programmieren lernen. Aber je früher Sie beginnen, desto besser. Die beste Zeit ist JETZT. Wenn Sie in Zukunft eine Familie und jede Menge Kredite haben, wird es viel schwieriger sein, sich erneut zu qualifizieren. Um Ihren Fehler zu korrigieren, müssen Sie Geld beiseite legen, um mindestens ein Jahr normales Leben zu finanzieren. Machen Sie keine dummen Fehler.

3-15 Monate (Java Junior Developer)

Sie arbeiten bereits als Softwareentwickler und Ihre Erfahrung wächst täglich. Entspannen Sie sich nicht. Es gibt noch viel zu tun, bevor man sich auf den Rudern ausruht. Was Sie tun müssen, ist – Technologien zu studieren, die Sie als mittlerer Entwickler benötigen. Was ist das? Die Welt verändert sich ständig. Ich werde dich mit Ratschlägen überhäufen und das Leben wird alles verändern. Suchen Sie im Internet nach Stellenangeboten und finden Sie heraus, was Sie für die Bewerbung benötigen. Lesen Sie unbedingt das Buch „Thinking in Java“ von Bruce Eckel. Ihr Ziel im ersten Jahr Ihrer Tätigkeit als Java Junior Developer ist es, die Stufe eines Java Middle Developers zu erreichen. Niemand sagt, dass das einfach wäre, aber für einen zielorientierten Menschen ist das möglich. Dadurch erhöht sich Ihr Gehalt im Handumdrehen um bis zu 40 % des „5-Jahres-Maximums“ (50.000 $ für SF und London, 6.000 $ für Bangalore).

Zweijähriges Programmieren (Java Middle Developer, Level 1)

Sie haben letztes Jahr gute Arbeit geleistet und sind jetzt ein Java Middle Developer. Mit einem Verdienst von 50 % des Gehalts eines Senior Java Developers kann man ganz gut leben. Bei der Arbeit werden Ihnen ernsthafte Aufgaben übertragen und Ihre Erfahrung wächst erheblich. In zwei bis drei Jahren erreichen Sie die Stufe eines Java Senior Developer. Kein Grund zur Eile. Große Gehaltserhöhungen werden Sie sowieso nicht bekommen. Was Sie tun müssen, ist Designmuster zu lernen, lesen Sie – McConnells Code Complete. Perfektionieren Sie die Qualität Ihres Codes und Ihrer Teamfähigkeiten. Erstellen Sie die Regel, jeden Monat 1 Buch über Computerprogrammierung zu lesen. Dann sind Sie in 4 Jahren 50 Bücher schlauer als alle anderen. Schieben Sie es nicht auf: Sie werden nicht mehr Freizeit haben, außerdem werden Sie höchstwahrscheinlich eine Familie gründen, oder wenn Sie eine haben, wird sie größer. Dein Zielbesteht darin, einige Technologien auszuwählen, auf die Sie sich als Senior Java Developer spezialisieren möchten. Sie können sie nicht alle lernen, wissen Sie. Und es ist immer eine gute Entscheidung, Guru in einer bestimmten Spezialisierung zu werden. Alte Ebene 06 - 6

3-jähriges Programmieren (Java Middle Developer, Level 2)

Sie sind jetzt ein erfahrener Middle Developer und denken darüber nach, Senior Developer zu werden. Es ist sowohl angenehm als auch prestigeträchtig. Ihr Gehalt übersteigt 60 % des „5-Jahres-Höchstgehalts“ (10.000 $ in Bangalore, 25.000 $ in Kiew, 40.000 $ in Berlin, 80.000 $ in New York). Von diesem Moment an steigt die Nachfrage nach Fachleuten wie Ihnen. Sie werden immer in ein paar Tagen einen Job finden und kaum jemals weniger verdienen als jetzt. Das natürlich, wenn Sie nichts Dummes tun. Was Sie tun müssen, istStudieren Sie weiterhin die von Ihnen gewählten Technologien. Arbeite besser. Nicht für Ihren Arbeitgeber, sondern für Ihr eigenes Wohl. Bewerben Sie sich für die Teilnahme an Projekten mit vielversprechenden Technologien (wie BigData, derzeit wird dieser Artikel geschrieben). Sie werden sowieso 8 Stunden am Tag im Büro verbringen, warum also nicht etwas mehr Geld dafür bekommen und, was noch wichtiger ist, die wertvollste Erfahrung, die Sie in Zukunft brauchen werden? Ihr Ziel ist es, einen neuen Job zu finden. Ein gutes Team findet sich immer. Sie werden mit neuen Projekten und Technologien konfrontiert. Sie müssen nicht an Ihrem Stuhl festhalten. Wenn Sie noch in einem Unternehmen der dritten Ebene arbeiten, denken Sie darüber nach, in einem Unternehmen der vierten Ebene zu arbeiten.

Programmieren im 5. Jahr (Java Senior Developer, Level 1

Sie sind jetzt Senior Developer. Vielleicht hast du es nicht verdient und du fühlst es. Trotzdem meine Glückwünsche. Es spielt keine Rolle, ob Sie Ihrer Position jetzt würdig sind, sondern nur, dass Sie dieser Position in Zukunft würdig werden. Ich denke, Sie stimmen mir zu, dass es besser ist, einen guten Job zu bekommen und dann das erforderliche Niveau zu erreichen, als umgekehrt. Ich hoffe, Sie haben meinen Rat, ein Buch pro Monat zu lesen, nicht vergessen? Jeder Student wird Sie jetzt um Ihr Wissen und Ihre Fähigkeiten beneiden. Genauer gesagt wird er für sie beten. Stellen Sie sich vor: Sie haben ein beachtliches Einkommen, fast 90 % des „5-Jahres-Höchstgehalts“. Du bist wahrscheinlich noch jung. Die Welt liegt dir zu Füßen. Was Sie tun müssen, istum die von Ihnen gewählten Technologien neu zu bewerten. Möglicherweise müssen Sie die Spezialisierung ändern. Die Welt hat sich verändert, Technologien haben sich verändert und Sie haben in den letzten zwei Jahren einiges an Wissen gewonnen. Was Sie jetzt wählen, wird für Sie in den nächsten Jahren zur Schlagzeile werden. Es ist Zeit, Ihre Lieblingstechnologien auszuwählen. Ihr Ziel ist es , Ihre Wachstumsrichtung zu wählen. Sie sind zahlreich, niemand kann sie alle aufzählen, aber Ihre Wahl muss jetzt getroffen werden. Wenn Sie heute eine kleine Veränderung vornehmen, werden Sie in Zukunft eine große Veränderung bewirken.

Programmieren im 6. Jahr (Java Senior Developer, Level 2)

Sie haben sich für Ihre Zukunft entschieden und arbeiten daran, Ihren Traum zu verwirklichen. Eine richtig gewählte Richtung und der Wunsch, voranzukommen – und das Ergebnis wird nicht lange auf sich warten lassen. Glückwunsch. Ich freue mich, dass noch jemand seinen Traum verwirklicht hat. Es gibt eine tiefe Wahrheit. Menschen überschätzen oft, was sie in einem Jahr erreichen können, und unterschätzen, was sie in fünf Jahren erreichen können. Schauen Sie fünf Jahre zurück. Es ist so. Was Sie tun müssen, ist, unkluge Entscheidungen zu vermeiden und nicht faul zu sein. Ihr Ziel ist es, die Richtung zu wählen und voranzukommen. Oder dachten Sie, dass es hier endet? Erinnern Sie sich an Ihren Abschluss. Es ist nicht das Ende, es ist erst der Anfang.

Ihre zukünftige Spezialisierung

Alte Ebene 06 - 7Sie können als technischer Spezialist (oberer Zweig), als Management (unterer Zweig) oder als angestellter professioneller/unabhängiger Berater (mittlerer Zweig) wachsen. Es hängt alles davon ab, was Sie bevorzugen.

Karriere als Java-Entwickler

Die Karriere eines Entwicklers unterscheidet sich von jeder anderen. Um gutes Geld zu verdienen, muss man kein Manager werden. Es kommt oft vor, dass ein Senior Developer mehr verdient als sein Manager-Chef. Je mehr Erfahrung Sie sammeln, desto stärker verändern sich Ihre Arbeitsbeziehungen mit Ihrem Chef von „Chef-Untergebenem“ zu „Star und Manager“. Entwickler sind verwöhnt und wissen, was sie wert sind, und wählen Projekte und offene Stellen aus. Lasst uns für die unsrigen glücklich sein. Was brauchen Sie also, um ein so hochgeschätzter und weltweit beliebter Entwickler zu werden? Sie müssen über umfangreiche Erfahrung mit den gefragtesten und neuen Technologien verfügen. Wie erreicht man das? Siehe unten. Alte Ebene 06 - 8Sobald Sie einen Job als Entwickler bekommen, passieren Ihnen zwei Dinge; Dennoch sind sie nicht immer sichtbar. 1. Du sammelst Erfahrungen in realen Projekten und wächst schnell. Ein Jahr in diesem Job bringt Ihnen mehr Erfahrung als ein fünfjähriges Studium. Erfahrung ist ein so wichtiges Thema, dass sie in den Stellenausschreibungen schreiben: „Java-Entwickler mit 3 Jahren Erfahrung erforderlich“. 2. Sie studieren 8 Stunden am Tag neue Technologien und werden dafür gut bezahlt. Man kann diese Tatsache wirklich nicht überbewerten. In manchen Fällen sind die Fähigkeiten, die Sie erwerben, so wertvoll, dass Sie dafür umsonst hätten arbeiten oder sogar bezahlen können. Wenn Sie die Projekte, an denen Sie arbeiten, mit Bedacht auswählen, steht Ihnen eine atemberaubende Karriere als Softwareentwickler bevor. Also... was soll ich wählen? Es kommt oft vor, dass man nicht weiß, welche Technologie nützlich sein wird, und sich daher für „Gefällt mir“ und „Gefällt mir nicht“ und „Modetrends“ entscheidet. Vielleicht haben Sie Glück oder auch nicht. Informieren Sie sich daher besser vorher über Ihr Reiseziel. Für Programmierer gibt es unzählige Möglichkeiten, sich weiterzuentwickeln. Der Einfachheit halber wähle ich einige davon aus und schreibe meine Vision der künftigen Situation auf. Denken Sie nicht, dass dieses Muster eine harte Linie ist; Es handelt sich eher um eine vereinfachte Darstellung der dargestellten Dinge, um sie klarer zu machen.

Zweihundert Jahre alter Entwickler

Wenn Ihnen das Programmieren am meisten Spaß macht, dann ist dies Ihr Weg: Senior Developer, dann Tech Lead Developer und Architekt. Auf diese Weise können Sie 50 Jahre und länger als Entwickler arbeiten. In den meisten Fällen übersteigen die Gehälter von Senior Developers und Tech Lead Developers die ihrer Manager. Also kommen Sie auf Ihre Kosten.

Manager. Du hast Glück, dass du nicht wie die anderen bist

Du bist zum Feind übergegangen. Nur ein Scherz. Wenn Sie große Organisationsfähigkeiten entdecken, sind Ihre Aufgaben: Teamleiter und dann Projektmanager. Es gibt Ihnen die Chance, Abteilungsleiter zu werden und Ihr eigenes Unternehmen zu eröffnen. Das ist es, was Sie wollen, nicht wahr?

Zuhause ist dort, wo das Herz ist

Alte Ebene 06 - 9Wenn Sie bereits eine Familie gegründet haben , möchten Sie vielleicht ein schönes und ruhiges Leben in einem Land mit starker Wirtschaft führen. Vielleicht erwägen Sie einen Umzug nach Kanada, in die USA, in die Schweiz oder sogar nach Australien. Sie verfügen über hervorragende Fähigkeiten und einen gefragten Beruf. Sie müssen nicht mit dem Abwaschen beginnen. Sie beginnen als Java Senior Developer. Wahrscheinlich viel verdienen. Nicht schlecht, ha?

Neapel sehen und nicht sterben.

Du hast noch keine Familie und liebst das Reisen . oDesk ist Ihr Alles. Finden Sie einen Kunden, vereinbaren Sie einen Stundensatz von 20 bis 50 US-Dollar, nehmen Sie einen Laptop mit und gehen Sie! Ihr Gehalt reicht aus, um überall auf der Welt zu leben. Warum beginnen Sie nicht gleich damit, Ihre Träume wahr werden zu lassen?

Ich will nicht programmieren, ich bin ein Mädchen.

Wenn Sie ein Mädchen sind , müssen Sie möglicherweise Mutterschaftsurlaub nehmen . Es klingt wie ein sexistischer Witz, und das ist es auch. Dennoch steckt viel gesunder Menschenverstand darin. Wenn Sie einen Mutterschaftsurlaub nehmen, können Sie höchstwahrscheinlich viel Geld für den Mutterschaftsurlaub erhalten (in Ländern mit hohem Sozialschutz). Es gibt Unternehmen, die nichts zahlen, und es gibt solche, die gut bezahlen. Eine meiner Studentinnen bekam während des Mutterschaftsurlaubs ein Drittel ihres Jahresgehalts. Und das geschah im Frühjahr 2009, während der Entlassungen. Und in anderthalb Jahren kommen Sie vielleicht zurück und sind mindestens mittlerer Entwickler.

Level 6

Alte Ebene 06 - 10

1 Elly. Objektsichtbarkeit. Null

- Hey, Amigo! - Hallo, Elly! Erzählst du mir heute etwas Interessantes? - Heute erzähle ich Ihnen etwas über die Lebensdauer eines Objekts . Nachdem ein Objekt erstellt wurde, existiert es (lebt), bis mindestens eine Variable seine Adresse speichert (es gibt mindestens eine Objektreferenz). Wenn keine Referenzen mehr vorhanden sind, stirbt das Objekt. Beispiele: Alte Ebene 06 - 11- Das Objekt „Katze Tommy“ existiert seit seiner Erstellung nur noch in einer Zeile. In der nächsten Zeile wird die einzige Variable, die ihre Referenz speichert, auf Null gesetzt und die Java Virtual Machine zerstört das Objekt. - Das Objekt „Katze Sammy“ wird nach seiner Erstellung in der Variablen cat1 gespeichert. Oder besser gesagt, cat1 speichert einen Verweis auf das Objekt. Dann wird ein paar Zeilen darunter diese Referenz in die Variable cat2 kopiert. Danach wird in cat1 ein Verweis auf ein anderes Objekt gespeichert und der Verweis auf „Katze Sammy“ verbleibt nur in cat2. Abschließend wird in der letzten Zeile der Methode main die letzte Referenz auf das Objekt auf null gesetzt. - Das Objekt „Katze Maisy“ existiert seit seiner Erstellung nur noch in einer Zeile. In der nächsten Zeile wird der Variablen cat2 ein anderer Wert zugewiesen und der Verweis auf „cat Maisy“ geht verloren. Das Objekt wird unerreichbar und gilt als Müll (tot). - Das Objekt „cat Ginger“ existiert seit seiner Erstellung bis zum Ende der Methode. Wenn die Methode zur Laufzeit beendet wird, wird die Variable cat1 zerstört, und danach wird auch das Objekt „cat Ginger“ zerstört. - Es ist klar. - Wenn Sie jedoch das Objekt Cat in einer Methode erstellen und seine Referenz in einer Klassenvariablen speichern, dann wird Cat existieren, solange es eine Referenz von einem anderen vorhandenen Objekt darauf gibt. - Normalerweise wird ein Objekt nicht sofort zerstört. Die Java Virtual Machine aktiviert gelegentlich die Garbage Collection, um nicht verwendete Objekte zu entfernen. Davon erzähle ich dir später. - Wenn Sie möchten, dass eine Variable keine Objektreferenz mehr speichert, können Sie ihr einen Nullwert oder eine Referenz auf ein anderes Objekt zuweisen.

2 Professor, Müllabfuhr

Alte Ebene 06 - 12- Hey, Amigo! Hier ist ein nützlicher Link zur Garbage Collection in Java. Das sind sicher nicht meine hervorragenden Vorlesungen, aber das reicht schon: Grundlagen der Java Garbage Collection

3 Elly, fertig

- Hallo wieder! Jetzt gebe ich Ihnen eine kurze Einführung in die Methode finalize() . Diese Methode wird von der Java Virtual Machine für das Objekt aufgerufen, bevor das Objekt zerstört wird. Tatsächlich ist diese Methode das Gegenteil des Konstruktors. Bei dieser Methode ist es möglich, die von einem Objekt verwendeten Ressourcen freizugeben. - Die Klasse Object hat diese Methode, daher hat jede Klasse sie ( alle Klassen in Java gelten als von der Klasse Object geerbt und enthalten eine Kopie ihrer Methoden ). Wenn Sie in Ihre Klasse die Methode finalize() schreiben, wird diese aufgerufen, bevor Objekte dieser Klasse zerstört werden. Beispiel: Alte Ebene 06 - 13- Verstanden. - Aber es gibt eine Sache. Die Java Virtual Machine entscheidet selbst, ob diese Methode aufgerufen wird oder nicht.In den meisten Fällen werden Objekte, die in der Methode erstellt und nach ihrem Beenden als Müll deklariert wurden, sofort und ohne Aufrufe der Methode finalize() zerstört. Diese Methode ist ein weiteres Instrument zur Kontrolle der externen Ressourcenzuweisung (außerhalb der JVM). Geben Sie besser alle verwendeten externen Ressourcen frei und setzen Sie gespeicherte Referenzen zurück, wenn das Objekt zerstört werden soll. Ich erzähle Ihnen in 10 oder 20 Stufen die Vorteile dieser Methode und die Einzelheiten ihrer Funktionsweise. In der Zwischenzeit sollten Sie zwei Dinge wissen: Es gibt eine solche Methode, und ( Überraschung! ) Sie wird nicht immer aufgerufen.

4 Elly, Objektlebensdauer

- Ich möchte Ihnen auch ein paar interessante Dinge über die Objektlebensdauer erzählen. In Java ist es sehr schwierig, das Objekt versehentlich zu verlieren; Wenn Sie über eine Objektreferenz verfügen, bedeutet dies, dass das Objekt mit Sicherheit lebendig ist. - Innerhalb einer Objektreferenz wird eine Nummer – Adresse dieses Objekts im Speicher gespeichert. Sie können diese Zahl nicht ändern, erhöhen oder verringern. Sie können keine Referenz erstellen, wenn Sie nur eine Adresse im Speicher haben. Sie können nur ein neues Objekt erstellen und dessen Referenz einer Variablen zuweisen. Nur so erhalten Sie eine neue Referenz. - Ich verstehe. Das heißt, wenn ich alle Objektreferenzen auf Null setze (lösche), erhalte ich dann nie die Objektreferenz und kann darauf nicht zugreifen? - Ja. Doch oft ist das Gegenteil der Fall – es sind zu viele lebende Objekte ungenutzt.Die meisten Programme erstellen Dutzende von Objekten und speichern sie zur Laufzeit in verschiedenen Listen, bereinigen diese Listen jedoch nie. - Meistens kennzeichnen Programmierer unerwünschte Objekte als „gelöscht“, das ist alles. Niemand kümmert sich darum, dass sie von den Listen gestrichen werden. Daher neigen große Java-Programme dazu, sich aufzublähen – immer mehr ungenutzte Objekte bleiben im Speicher lebendig. - Das ist alles. Ich werde Sie in Zukunft stets auf ungenutzte Gegenstände und deren ordnungsgemäße Entsorgung aufmerksam machen. - Okay, danke. Sie haben ein paar Dinge zu den Referenzen geklärt.

5 Diego, Aufgaben zur Objektlebensdauer

- Hey, Amigo! Hier sind ein paar Aufgaben für Sie:
Aufgaben
1 1. finalize()-Methode der Cat-Klasse
Schreiben Sie eine Methode protected void finalize() throws Throwable in der Klasse Cat
3 2. Klassen Cat und Dog und finalize()-Methode für jede Klasse.
Schreiben Sie in jede Cat- und Dog-Klasse eine finalize()- Methode, die auf dem Bildschirm eine Meldung anzeigt, dass das Objekt zerstört wurde.
3 3. 50.000 Objekte der Cat-Klasse und 50.000 Objekte der Dog-Klasse.
Erstellen Sie in einer Schleife 50.000 Objekte der Cat-Klasse und 50.000 Objekte der Dog-Klasse. (Die virtuelle Java-Maschine zerstört nicht verwendete Objekte, daher wird die Methode finalize() mindestens einmal aufgerufen.)
4 4. Cat-Zähler
Erhöhen Sie im Cat-Klassenkonstruktor [public Cat()] den Cat-Zähler (statische Variable catCount derselben Klasse) um 1. Verringern Sie ihn in der Methode finalize() um 1.

6 Elly, Statische Klassen und Methoden

- Hier ist ein neues interessantes Thema. Ich möchte Ihnen etwas über die statischen Variablen und Methoden erzählen. - Oh, ich habe schon von statischen Variablen gehört. Ich denke auch über statische Methoden. Aber ich hätte gerne mehr Details. - Bei der Deklaration von Variablen in einer Klasse geben wir an, ob diese Variablen in einer einzigen gemeinsam genutzten Instanz erstellt werden oder ob es notwendig ist, für jedes Objekt ihre Kopien zu erstellen. Standardmäßig wird für jedes Objekt dieser Klasse eine neue Kopie der Klassenvariablen erstellt. So sieht es aus: Alte Ebene 06 - 14– Obwohl die Variablen cat1.name und cat2.name in derselben Klasse – Cat – deklariert sind, speichern sie unterschiedliche Werte, da sie an unterschiedliche Objekte gebunden sind. - Es ist klar. - Eine statische Variable existiert in einer einzelnen Instanz; Sie müssen über einen Klassennamen darauf zugreifen: Alte Ebene 06 - 15- Es ist auch klar. - Auch die Klassenmethoden sind in zwei Kategorien unterteilt. Gewöhnliche Methoden werden für das Objekt aufgerufen und haben Zugriff auf die Daten dieses Objekts. Statische Methoden haben keinen solchen Zugriff , da sie einfach keine Objektreferenz haben. Statische Methoden können entweder auf statische Variablen dieser Klasse oder auf andere statische Methoden zugreifen. - Statische Methoden können nicht auf nicht statische Methoden oder nicht statische Variablen zugreifen! - Warum so? - Jede gewöhnliche Klassenvariable wird innerhalb eines Objekts platziert. Jede Methode kann nur dann auf eine solche Variable zugreifen, wenn sie einen Verweis auf dieses Objekt hat. Ein solcher Verweis wird nicht an die statische Methode übergeben. - Was ist mit gewöhnlichen Methoden? Der gewöhnlichen Methode wird ein versteckter Verweis auf das Objekt übergeben, für das diese Methode aufgerufen wird. Die Variable, die diese Referenz speichert, heißt this . Somit kann die Methode jederzeit Daten ihres eigenen Objekts abrufen oder eine andere nicht statische Methode desselben Objekts aufrufen. – Anstelle einer Objektreferenz wird eine Null an eine statische Methode übergeben. Daher kann eine statische Methode nicht auf nicht statische Variablen und Methoden zugreifen – sie hat lediglich keinen Verweis auf das Objekt, an das sie gebunden sind. - Ich verstehe. - So funktionieren gewöhnliche nicht-statische Methoden: Alte Ebene 06 - 16- Und so funktionieren statische Methoden: Alte Ebene 06 – 17- Eine Variable oder eine Methode ist statisch, wenn sie mit dem Schlüsselwort static deklariert wird. - Und was nützen solche Methoden, wenn sie so begrenzt sind? - Dieser Ansatz hat auch seine Vorteile. - Erstens müssen Sie keine Objektreferenz übergeben, um auf statische Methoden und Variablen zuzugreifen . - Zweitens ist es manchmal notwendig, dass die Variable einzigartig ist . Wie zum Beispiel die Variable System.out (statische Variable aus der Klasse System). - Und drittens ist es manchmal notwendig, eine Methode aufzurufen, bevor Sie Objekte erstellen können . - Bei welcher Gelegenheit? - Warum ist Ihrer Meinung nach die Methode main als statisch deklariert? Der Aufruf erfolgt unmittelbar nach dem Laden der Klasse in den Speicher, bevor Objekte erstellt werden können.

7 Risha, Statische Klassen und Methoden

- Neben statischen Methoden gibt es auch statische Klassen . Wir werden diesen Fall später betrachten, ich zeige Ihnen nur ein Beispiel dafür: Alte Ebene 06 - 18- Sie können so viele Objekte der Klasse Cat erstellen, wie Sie möchten. Im Gegensatz zu einer statischen Variablen, die in einer einzelnen Instanz existiert. - Der Hauptzweck des Modifikators static vor einer Klassendeklaration besteht darin, eine Beziehung zwischen der Klasse Cat und der Klasse StaticClassExample aufrechtzuerhalten . Im Allgemeinen ist die Klasse Cat nicht an das StaticClassExample-Objekt gebunden (hat keine versteckte Referenz) und kann nicht auf gewöhnliche (nicht statische) StaticClassExample-Variablen zugreifen. - Damit ich Klassen innerhalb anderer Klassen erstellen kann? - Ja. Java macht dies möglich. Denken Sie jetzt nicht zu viel darüber nach. Später erkläre ich noch einige andere Dinge und alles wird ein bisschen einfacher. - Hoffentlich.

8 Diego, Aufgaben zur statischen Methode

- Hey, Amigo! Hier sind einige interessante Aufgaben zu statischen Methoden:
Aufgaben
1 1. Klasse Cat und statische Variable catCount
Schreiben Sie eine statische Variable int catCount in die Klasse Cat. Erstellen Sie einen Konstruktor [ public Cat() ], in dem die angegebene Variable um 1 erhöht werden soll.
2 2. Statische Methoden: int getCatCount() und setCatCount(int)
Fügen Sie der Klasse Cat zwei statische Methoden hinzu: int getCatCount( ) und setCatCount(int) , mit denen Sie die Anzahl der Katzen (die Variable catCount) abrufen/ändern können.
3 3. Klasse Util
Implementieren Sie eine statische Methode double getDistance(x1, y1, x2, y2) . Es sollte den Abstand zwischen Punkten berechnen. Verwenden Sie die Methode double Math.sqrt(double a), um die Quadratwurzel des übergebenen Parameters zu berechnen
4 4. Klasse ConsoleReader
Schreiben Sie eine Klasse ConsoleReader, die über 4 statische Methoden verfügt:
String readString() zum Lesen von Zeichenfolgen von der Tastatur
int readInt() zum Lesen von Zahlen von der Tastatur
double readDouble() zum Lesen von Bruchzahlen von der Tastatur
void readLn () um auf das Drücken der Eingabetaste zu warten [readString() verwenden]
5 5. Klasse StringHelper
Schreiben Sie eine Klasse StringHelper, die über zwei statische Methoden verfügt:
- String multiply(String s, int count) sollte die wiederholten Zählzeiten des Strings zurückgeben.
- String multiply(String s) sollte den String s fünfmal wiederholen zurückgeben.

Beispiel:
Amigo → AmigoAmigoAmigoAmigoAmigo

9 Professor, objektstatischer Umfang und Lebensdauer

Alte Ebene 06 - 19- Ich bin es wieder. Leider kann ich Ihnen heute keine Links geben. Diese großartigen Vorträge gehen irgendwo verloren. Ich fürchte, heute müssen Sie es alleine schaffen. Aber hör besser mehr auf Elly und Risha, sie können dir immer etwas beibringen. Versuchen Sie es dennoch mit diesem: Objektlebenszyklus

10. Juli

- Hey, Amigo! Du hast heute großartige Arbeit geleistet. Deshalb kann ich dir einfach nicht mehr geben. Komm, setz dich, die Show beginnt:

11 Kapitän Eichhörnchen

- Hallo, Soldat! - Guten Morgen mein Herr! - Ich habe tolle Neuigkeiten für Sie. Hier ist ein kurzer Check, um Ihre Fähigkeiten zu stärken. Machen Sie es jeden Tag und Sie werden Ihre Fähigkeiten schnell verbessern. Aufgaben sind speziell für die Ausführung in Intellij IDEA konzipiert.
Zusätzliche Aufgaben in Intellij Idea
1 Klasse Cat und statische Variable catCount
Schreiben Sie eine statische Variable public int catCount in der Klasse Cat. Erstellen Sie einen Konstruktor [public Cat()]. Lassen Sie die statische Variable catCount jedes Mal um 1 steigen, wenn Sie eine Katze (ein neues Objekt Cat) erstellen. Erstellen Sie 10 Objekte Cat und zeigen Sie den Wert der Variablen catCount an .
2 2. Statische Katzen
  1. Fügen Sie der Klasse Cat eine öffentliche statische Variable cats (ArrayList<Cat>) hinzu.
  2. Jedes Mal, wenn Sie eine Katze (ein neues Objekt Cat) erstellen, fügen Sie diese neue Katze der Variablen cats hinzu . Erstellen Sie 10 Objekte Kat.
  3. Die Methode printCats() sollte alle Katzen anzeigen. Sie müssen die Variable cats in der Methode verwenden.
Tipp:
Um eine cats- Variable zu erstellen, verwenden Sie die Codezeile:
public static ArrayList<Cat> cats = new ArrayList<Cat>();
3 3. Verschieben Sie einen statischen Modifikator.
Verschieben Sie einen statischen Modifikator, damit der Code kompiliert wird.
4 4. Mindestanzahl statischer Schlüsselwörter
Fügen Sie die Mindestanzahl statischer Schlüsselwörter hinzu, damit der Code kompiliert und das Programm erfolgreich abgeschlossen werden kann.
5 5. Irgendwelche neuen Ideen? Denken wir nach...
  1. Schreiben Sie eine öffentliche statische Klassenidee in der Klasse Solution
  2. Schreiben Sie eine Methode public String getDescription() in die Klasse Idea, um jede nicht leere Nachricht zurückzugeben
  3. Erstellen Sie in der Klasse Solution eine statische Methode public void printIdea(Idea idea) , um eine Beschreibung der Idee anzuzeigen – das ist es, was die Methode getDescription() zurückgibt
6 6. KissMyShinyMetalAss
Schreiben Sie eine Klasse mit dem Namen KissMyShinyMetalAss. Erstellen Sie ein Objekt dieser Klasse und zeigen Sie es dann auf dem Bildschirm an.
7 7. Name der drei statischen Variablen
Schreiben Sie drei öffentliche statische Variablen: String Solution.name , String Cat.name , String Dog.name
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION