Pelan Hala Tuju Pembangun Java

Seorang rakan saya tertanya-tanya mengapa pembangun sentiasa gembira. Jawapan yang dia berikan adalah mudah dan mengejutkan: mereka melakukan apa yang mereka suka dan memperoleh wang yang besar. Selamat datang ke dunia pembangun perisian. Tahap Lama 06 - 1

Gaji pembangun perisian

Saya ingin memberitahu anda tentang gaji pemaju. Bagaimana tanah terletak dengan gaji, ke mana anda harus pergi bekerja, dan ke mana anda tidak sepatutnya. Jika anda bukan pembangun dan cuba teka-teki sendiri, anda mungkin mendapat data yang agak kontroversi. Perkara utama ialah faktor utama yang mempengaruhi gaji pemaju bukanlah kelayakan, tetapi tempat pekerjaan. Kadangkala, memandangkan tahap kelayakan yang sama, perbezaan antara tempat pekerjaan yang baik dan buruk boleh menjadi 2 hingga 10 kali ganda(!) Setiap saat tertentu kelayakan anda adalah tetap. Anda tidak boleh menjadi dua kali lebih layak dalam sebulan dan dibayar dua kali lebih banyak. Tetapi anda boleh menukar tempat kerja dalam sebulan dan mendapat gaji dua kali ganda lebih besar. Sekali dalam aliran dua bulan gaji saya didarab tiga (!) – Pengalaman yang tidak dapat dilupakan. Jadi, mari kita ketahui, tempat mana yang terbaik.
  1. Sama ada perniagaan utama syarikat adalah pembangunan perisian
  2. Sama ada syarikat berorientasikan pasaran global atau tempatan
  3. Di manakah terletaknya pejabat utama: negara maju atau negara membangun
Ambil perhatian bahawa bandar tempat anda bekerja adalah tidak relevan. Maksudnya, jika anda memperoleh pendapatan lima kali lebih rendah di Barcelona daripada rakan anda di New-York, faktor yang saya nyatakan mungkin telah mempengaruhi. 

Nombor tertentu

Memandangkan gaji berbeza di bahagian dunia yang berbeza, saya bercadang untuk mengambil gaji Pemaju Java Kanan dengan pengalaman 5 tahun sebagai titik permulaan dan memanggilnya "maksimum 5 tahun". Semua angka di bawah akan diberikan sebagai peratusan daripada jumlah ini. Berikut ialah beberapa contoh gaji "maksimum 5 tahun" di bandar-bandar lain di dunia: Tahap Lama 06 - 2Di bawah ini ditunjukkan jumlah pendapatan Pembangun Kanan Java dengan pengalaman 5 tahun bergantung pada syarikat tempat dia bekerja: Tahap Lama 06 - 3Tahap Lama 06 - 4Apakah perkara yang paling pelik tentang situasi semasa? Separuh daripada semua pengaturcara bekerja di syarikat 1 dan 2 peringkat. Adakah anda ingin tahu, apakah tangkapannya? Terdapat ratusan kekosongan yang dibuka di syarikat 3 dan 4 peringkat. Syarikat-syarikat ini bersedia untuk menawarkan anda gaji yang lebih tinggi dan, biasanya, keadaan kerja yang lebih baik. Saya tahu dua Java Junior, seorang daripada mereka mendapat pekerjaan dengan bayaran kira-kira 3% daripada “maksimum 5 tahun” (syarikat tahap 1), dan seorang lagi mendapat pekerjaan dengan 30% daripada gaji “maksimum 5 tahun” (tahap 4). Jadi mengapa mendapat kurang? Permintaan untuk pengaturcara melebihi tawaran – jangan pergi bekerja di mana anda dibayar kurang! Kesimpulan 1: Gaji purata untuk pemaju Java (dengan sebarang pengalaman) ialah 40%-50% daripada gaji "maksimum 5 tahun". Kesimpulan 2: Gaji purata anda dalam 5 tahun ialah kira-kira 90%-110% daripada gaji "maksimum 5 tahun", jika anda tidak bekerja untuk syarikat peringkat 1 dan 2, dan bekerja untuk syarikat peringkat 3 dan 4.

Apa yang anda boleh capai melainkan anda melakukan perkara bodoh

Jika anda mula bekerja pada pendidikan diri anda dalam pengaturcaraan sekarang, gaji anda boleh kelihatan seperti ini: Tahap Lama 06 - 5

Rancang

0-3 bulan (Pelajar)

Anda tahu sedikit tentang pengaturcaraan. Anda mungkin telah mempelajarinya di sekolah atau di kolej pada peringkat asas. Apa yang anda perlu lakukan ialah belajar cara memprogram dan mempelajari Java. Matlamat anda ialah mendapatkan pekerjaan sebagai Java Junior Developer di syarikat tahap 3 atau ke atas. Untuk tiga bulan pertama rancangan anda tidak akan mendapat apa-apa, kerana anda baru belajar cara memprogram. Tetapi lebih awal anda bermula lebih baik. Masa terbaik adalah SEKARANG. Pada masa hadapan, apabila anda mempunyai keluarga dan banyak pinjaman, ia akan menjadi lebih sukar untuk layak semula. Untuk membetulkan kesilapan anda, anda perlu mengetepikan wang untuk membayar sekurang-kurangnya selama setahun kehidupan normal. Jangan buat kesilapan bodoh.

3-15 bulan (Java Junior Developer)

Anda sudah bekerja sebagai pembangun perisian dan pengalaman anda bertambah setiap hari. Jangan berehat. Banyak yang perlu anda lakukan sebelum berehat di atas dayung. Apa yang anda perlu lakukan ialah – kaji teknologi yang anda perlukan sebagai Pembangun Pertengahan. Apakah ini? Dunia sentiasa berubah. Saya akan memuatkan anda dengan nasihat dan kehidupan akan mengubah semuanya. Cari beberapa kekosongan di web dan lihat apa yang anda perlukan untuk memohon. Pastikan anda membaca buku oleh Bruce Eckel "Thinking in Java". Matlamat anda pada tahun pertama bekerja sebagai Java Junior Developer adalah untuk mencapai tahap Java Middle Developer. Tiada siapa yang mengatakan itu mudah, tetapi itu mungkin untuk orang yang berorientasikan matlamat. Ia akan meningkatkan gaji anda dalam sekelip mata sehingga 40% daripada "maksimum 5 tahun" ($50K untuk SF dan London, $6K untuk Bangalore).

Pengaturcaraan tahun 2 hari (Pembangun Tengah Java, tahap 1)

Anda telah melakukan kerja yang baik tahun lepas dan kini anda adalah Pembangun Java Middle. Anda boleh hidup dengan baik dengan memperoleh 50% daripada gaji Pembangun Java Kanan. Anda diberi beberapa tugas yang serius di tempat kerja dan pengalaman anda berkembang dengan ketara. Anda akan mencapai tahap Pembangun Kanan Java dalam masa dua atau tiga tahun. Tidak perlu tergesa-gesa. Anda tidak akan mendapat gaji yang tinggi. Apa yang anda perlu lakukan ialah mempelajari corak reka bentuk, baca – Kod McConnell Lengkap. Sempurnakan kualiti kod dan kemahiran pasukan anda. Buat peraturan membaca 1 buku tentang pengaturcaraan komputer setiap bulan. Kemudian, dalam masa 4 tahun anda akan menjadi 50 buku lebih bijak daripada yang lain. Jangan menangguhkannya: anda tidak akan mendapat lebih banyak masa lapang, selain itu, kemungkinan besar anda akan membina keluarga, atau jika anda mempunyai satu, ia akan menjadi lebih besar. Matlamat andaialah memilih beberapa teknologi untuk mengkhususkan diri sebagai Pembangun Java Kanan. Anda tidak boleh mempelajari semuanya, anda tahu. Dan ia sentiasa keputusan yang baik untuk menjadi guru dalam satu pengkhususan. Tingkatan Lama 06 - 6

Pengaturcaraan tahun 3 hari (Pembangun Tengah Java, tahap 2)

Anda kini seorang Pemaju Pertengahan yang berpengalaman dan anda sedang berfikir untuk menjadi Pembangun Kanan. Ia menyenangkan serta berprestij. Gaji anda melebihi 60% daripada "maksimum 5 tahun" ($10K di Bangalore, $25K di Kiev, $40K di Berlin, $80K di New York). Mulai saat ini atas permintaan untuk profesional seperti anda menaikkan tawaran. Anda akan sentiasa dapat mencari pekerjaan dalam beberapa hari dan anda tidak akan pernah memperoleh pendapatan kurang daripada yang anda perolehi sekarang. Itu, sudah tentu, jika anda tidak melakukan sesuatu yang bodoh. Apa yang perlu anda lakukan ialahteruskan mengkaji teknologi yang anda pilih. Bekerja lebih baik. Bukan untuk majikan anda, untuk anda sendiri. Mohon untuk mengambil bahagian dalam projek yang melibatkan teknologi yang menjanjikan (seperti BigData, pada masa ini artikel ini sedang ditulis). Anda akan menghabiskan 8 jam sehari di pejabat, jadi apa kata anda dapatkan lebih sedikit wang untuk itu, dan, apa yang lebih penting, pengalaman paling berharga yang anda perlukan pada masa hadapan. Matlamat anda adalah untuk mencari pekerjaan baharu. Pasukan yang baik sentiasa dicari. Anda akan berhadapan dengan projek dan teknologi baharu. Anda tidak perlu berakar ke kerusi anda. Jika anda masih bekerja di syarikat peringkat ketiga, fikirkan untuk mengambil pekerja di peringkat keempat.

Pengaturcaraan tahun ke-5 (Pembangun Kanan Java, tahap 1

Anda kini seorang Pembangun Kanan. Mungkin, anda tidak layak, dan anda merasakannya. Namun begitu, tahniah saya ucapkan. Tidak kira sama ada anda layak untuk jawatan anda sekarang, yang penting anda layak untuk jawatan itu pada masa hadapan. Saya fikir anda akan bersetuju adalah lebih baik untuk mendapatkan pekerjaan yang baik dan selepas berkembang ke tahap yang diperlukan maka sebaliknya. Saya harap anda tidak lupa nasihat saya untuk membaca satu buku sebulan? Mana-mana pelajar akan iri dengan pengetahuan dan kemahiran anda sekarang. Untuk lebih spesifik, dia akan berdoa untuk mereka. Fikirkan sahaja: anda mendapat pendapatan yang serius, hampir 90% daripada gaji "maksimum 5 tahun". Anda mungkin masih muda. Dunia di kaki anda. Apa yang perlu anda lakukan ialahuntuk menilai semula teknologi yang telah anda pilih. Mungkin, anda perlu menukar pengkhususan. Dunia telah berubah, teknologi berubah, dan anda telah memperoleh sedikit pengetahuan dalam dua tahun yang lalu. Apa yang anda pilih sekarang akan menjadi tajuk utama untuk beberapa tahun akan datang untuk anda. Sudah tiba masanya untuk memilih teknologi kegemaran anda. Matlamat anda adalah untuk memilih arah pertumbuhan anda. Mereka banyak, tiada siapa boleh menamakan semuanya, tetapi pilihan anda perlu dilakukan sekarang. Jika anda membuat sedikit perubahan hari ini, anda akan mendapat perubahan yang besar pada masa hadapan.

Pengaturcaraan tahun ke-6 (Pembangun Kanan Java, tahap2)

Anda telah memutuskan masa depan anda dan anda sedang berusaha untuk impian anda untuk menjadi kenyataan. Arah yang dipilih dengan betul bersama-sama dengan keinginan untuk bergerak ke hadapan – dan keputusan tidak akan lama. tahniah. Saya gembira melihat ada seorang lagi mendarat impiannya. Terdapat satu kebenaran yang mendalam. Orang sering melebihkan apa yang mereka boleh capai dalam setahun dan meremehkan apa yang boleh mereka lakukan dalam lima tahun. Lihat lima tahun yang lalu. Memang begitu. Apa yang perlu anda lakukan ialah mengelakkan keputusan yang tidak bijak dan jangan malas. Matlamat anda adalah untuk memilih arah dan bergerak ke hadapan. Atau adakah anda fikir ia berakhir di sini? Ingat kelulusan anda. Ia bukan penghujung, ia hanya permulaan.

Anda pengkhususan masa depan

Tingkatan Lama 06 - 7Anda boleh berkembang sebagai pakar teknikal (cawangan atas), sebagai pengurusan (cawangan bawah) atau sebagai perunding profesional/bebas yang diupah (cawangan sederhana). Semuanya bergantung pada apa yang anda suka.

Kerjaya Pembangun Java

Kerjaya pemaju adalah berbeza daripada yang lain. Anda tidak perlu menjadi pengurus untuk mendapatkan wang yang lumayan. Selalunya berlaku bahawa Pembangun Kanan memperoleh lebih banyak daripada pengurus-bosnya. Lebih banyak pengalaman yang anda perolehi lebih kukuh hubungan kerja anda dengan bos anda berubah daripada "bos-subordinat" kepada "bintang dan pengurus". Manja mengetahui nilai mereka pemaju memilih projek dan kekosongan. Mari kita bahagia untuk mereka sendiri. Jadi apakah yang anda perlukan untuk menjadi pembangun popular yang bernilai tinggi dan berskala dunia? Anda mesti mempunyai pengalaman yang besar dalam teknologi yang paling dituntut dan baharu. Bagaimana untuk mencapai ini? Lihat di bawah. Tahap Lama 06 - 8Sebaik sahaja anda mendapat pekerjaan sebagai pemaju, dua perkara mula berlaku kepada anda; masih, mereka tidak selalu kelihatan. 1. Anda memperoleh pengalaman dalam projek sebenar dan berkembang pesat. Satu tahun dalam pekerjaan ini memberi anda lebih pengalaman daripada 5 tahun di kolej. Pengalaman adalah isu penting sehingga mereka menulis "Pemaju Java dengan pengalaman 3 tahun diperlukan" dalam jawatan kosong yang disiarkan. 2. Anda mempelajari teknologi baharu 8 jam sehari dan mendapat bayaran yang lumayan untuknya. Anda benar-benar tidak boleh melebih-lebihkan fakta ini. Dalam sesetengah kes kemahiran yang anda perolehi sangat berharga sehinggakan anda boleh bekerja secara percuma untuk mendapatkannya atau pun membayar. Jika anda memilih projek yang anda kerjakan dengan bijak, anda akan mempunyai kerjaya pembangun perisian yang sangat penting. Jadi… apa yang perlu dipilih? Selalunya berlaku bahawa anda tidak tahu teknologi mana yang akan berguna, jadi anda mula memilih "suka dan tidak suka" dan "trend fesyen". Anda mungkin bertuah atau mungkin tidak. Jadi lebih baik anda tahu destinasi anda terlebih dahulu. Terdapat banyak cara untuk berkembang untuk pengaturcara, jadi, untuk menjadikannya mudah, saya akan memilih beberapa daripada mereka dan menulis visi saya tentang situasi di hadapan. Jangan fikir corak ini menjadi garis keras; ia adalah pandangan yang dipermudahkan tentang perkara yang dibentangkan untuk menjelaskannya.

Pemaju berusia dua ratus tahun

Jika anda paling menggemari pengaturcaraan, maka inilah cara anda: Pembangun Kanan, kemudian Pembangun Utama Teknologi dan seorang arkitek. Dengan cara ini anda boleh bekerja sebagai pembangun selama 50 tahun dan lebih. Dalam kebanyakan kes, gaji Pemaju Kanan dan Pemaju Utama Teknologi melebihi gaji pengurus mereka. Jadi dapatkan nilai wang anda.

Pengurus. Anda bernasib baik kerana anda tidak seperti yang lain

Anda pergi ke musuh. Hanya bergurau. Jika anda menemui kemahiran organisasi yang hebat, maka cara anda ialah: Ketua Pasukan, dan kemudian Pengurus Projek. Ia akan memberi anda peluang untuk menjadi ketua jabatan dan membuka perniagaan anda sendiri. Itulah yang anda mahukan, bukan?

Rumah adalah di mana hati berada

Tahap Lama 06 - 9Jika anda telah memulakan keluarga , maka, mungkin, anda ingin mempunyai kehidupan yang baik dan tenang di negara dengan ekonomi yang kukuh. Mungkin anda mempertimbangkan untuk berpindah ke Kanada, Amerika Syarikat, Switzerland atau Australia. Anda mempunyai kemahiran yang sangat baik dan profesion yang diminati. Anda tidak perlu bermula dari membasuh pinggan. Anda akan bermula sebagai Pembangun Kanan Java. Mungkin, memperoleh pendapatan yang banyak. Tidak teruk, ha?

Lihat Naples dan jangan mati.

Anda belum mempunyai keluarga dan anda suka melancong . oDesk adalah milik anda semua. Cari pelanggan, bersetuju dengan kadar $20-$50 sejam, bawa komputer riba bersama anda dan pergi! Gaji anda akan mencukupi untuk hidup di mana-mana sahaja di dunia. Mengapa tidak mula merealisasikan impian anda dengan segera?

Saya tidak mahu berprogram, saya perempuan..

Jika anda perempuan , anda mungkin perlu mengambil cuti bersalin . Bunyinya seperti jenaka seksis, sebenarnya. Namun, terdapat banyak akal di dalamnya. Kemungkinan besar, mengambil cuti bersalin anda akan mendapat banyak wang cuti bersalin (di negara yang mempunyai perlindungan sosial yang tinggi). Terdapat syarikat yang tidak membayar apa-apa, dan ada juga yang membayar dengan baik. Salah seorang pelajar saya mendapat satu pertiga daripada gaji tahunan semasa cuti bersalin. Dan ini berlaku pada musim bunga 2009, semasa pemberhentian pekerjaan. Dan dalam satu setengah tahun anda mungkin kembali, sekurang-kurangnya menjadi Pembangun Pertengahan.

Tingkatan 6

Tahap Lama 06 - 10

1 Elly. Keterlihatan objek. null

- Hei, Amigo! - Hai, Elly! Adakah anda akan memberitahu saya sesuatu yang menarik hari ini? - Hari ini saya akan memberitahu anda tentang jangka hayat sesuatu objek . Selepas objek dicipta, ia wujud (hidup) sehingga sekurang-kurangnya satu pembolehubah menyimpan alamatnya (terdapat sekurang-kurangnya satu rujukan objek). Jika tiada rujukan lagi, maka objek itu mati. Contoh: Tahap Lama 06 - 11- Objek «cat Tommy» wujud dalam satu baris sahaja sejak ia dicipta. Dalam baris seterusnya, hanya pembolehubah yang menyimpan rujukannya ditetapkan kepada null dan mesin maya Java memusnahkan objek. - Objek «cat Sammy» selepas penciptaannya disimpan dalam cat1 berubah-ubah. Atau sebaliknya, cat1 menyimpan rujukan kepada objek. Kemudian beberapa baris di bawah rujukan ini disalin ke cat2 pembolehubah. Selepas itu rujukan kepada objek lain disimpan dalam cat1, dan rujukan kepada «cat Sammy» kekal hanya dalam cat2. Akhir sekali, dalam baris terakhir kaedah utama, rujukan terakhir kepada objek ditetapkan kepada null. - Objek «cat Maisy» wujud dalam satu-satunya baris sejak ia dicipta. Dalam baris seterusnya pembolehubah cat2 diberikan nilai lain dan rujukan kepada «cat Maisy» hilang. Objek menjadi tidak dapat dicapai dan dianggap sampah (mati). - Objek «kucing Halia» wujud sejak ia dicipta hingga akhir kaedah. Pada masa jalan apabila kaedah keluar, pembolehubah cat1 akan dimusnahkan, dan selepas objek «kucing Halia» akan dimusnahkan juga. - Ia jelas. - Walau bagaimanapun, jika anda mencipta objek Cat dalam beberapa kaedah dan menyimpan rujukannya dalam pembolehubah kelas, maka Cat akan wujud selagi terdapat rujukan kepadanya daripada objek sedia ada yang lain. - Biasanya, objek tidak dimusnahkan serta-merta. Mesin maya Java kadangkala mengaktifkan kutipan sampah untuk mengalih keluar objek yang tidak digunakan. Saya akan memberitahu anda tentang itu kemudian. - Jika anda mahu beberapa pembolehubah berhenti menyimpan rujukan objek, anda boleh menetapkan nilai nol atau rujukan kepada objek lain.

2 Profesor, Pengumpulan sampah

Tahap Lama 06 - 12- Hei, Amigo! Berikut ialah pautan berguna tentang pengumpulan sampah di Jawa. Itu sememangnya bukan kuliah saya yang sangat baik, tetapi itu sudah cukup baik: Asas Pengumpulan Sampah Java

3 Elly, selesaikan

- Hello lagi! Sekarang saya akan memberi anda pengenalan ringkas kepada kaedah finalize() . Kaedah ini dipanggil oleh mesin maya Java pada objek sebelum objek dimusnahkan. Malah, kaedah ini bertentangan dengan pembina. Dalam kaedah ini adalah mungkin untuk melepaskan sumber yang digunakan oleh objek. - Objek kelas mempunyai kaedah ini, oleh itu, setiap kelas mempunyainya ( semua kelas di Jawa dianggap diwarisi daripada Objek kelas dan mengandungi salinan kaedahnya ). Jika anda menulis dalam kelas anda kaedah finalize() dan ia akan dipanggil sebelum objek kelas ini dimusnahkan. Contoh: Tahap Lama 06 - 13- Faham. - Tetapi ada satu perkara. Mesin maya Java memutuskan sendiri sama ada untuk memanggil kaedah ini atau tidak.Selalunya, objek yang dicipta dalam kaedah dan diisytiharkan sebagai sampah selepas keluarnya, dimusnahkan serta-merta dan tanpa sebarang panggilan kaedah finalize(). Kaedah ini ialah satu lagi instrumen kawalan ke atas peruntukan sumber luaran (di luar JVM). Anda lebih baik melepaskan semua sumber luaran yang digunakan dan menetapkan semula rujukan yang disimpan apabila anda mahu objek itu dimusnahkan. Saya akan memberitahu anda tentang kelebihan kaedah ini dan butiran kerjanya dalam 10 atau 20 peringkat. Sementara itu, anda harus tahu dua perkara: kaedah sedemikian wujud, dan ( mengejutkan! ) ia tidak selalu dipanggil.

4 Elly, seumur hidup Objek

- Saya juga ingin memberitahu anda beberapa perkara menarik tentang seumur hidup objek. Di Jawa, sangat sukar untuk kehilangan objek secara tidak sengaja; jika anda mempunyai rujukan objek, ia bermakna objek itu pasti hidup. - Di dalam rujukan objek menyimpan nombor – alamat objek ini dalam ingatan. Anda tidak boleh menukar nombor itu, menambah atau mengurangkannya. Anda tidak boleh membuat rujukan apabila anda hanya mempunyai alamat dalam ingatan. Anda hanya boleh mencipta objek baharu dan menetapkan rujukannya kepada pembolehubah. Ini adalah satu-satunya cara untuk mendapatkan rujukan baharu. - Saya faham. Iaitu, jika saya menetapkan kepada null (memadam) semua rujukan objek, saya tidak akan mendapat rujukan objek dan mengaksesnya? - Ya. Tetapi selalunya sebaliknya adalah benar - terdapat terlalu banyak objek hidup yang tidak digunakan.Kebanyakan program mencipta berpuluh-puluh objek dan menyimpannya dalam senarai berbeza pada masa jalan, tetapi tidak sekali-kali membersihkan senarai tersebut. - Selalunya, pengaturcara melabel objek yang tidak diingini sebagai "dipadam", itu sahaja. Tiada siapa yang mengambil berat tentang penyingkiran mereka daripada senarai. Jadi program Java yang besar cenderung mengembang - semakin banyak objek yang tidak digunakan kekal dalam ingatan. - Itu sahaja. Pada masa hadapan saya akan sentiasa menarik perhatian anda kepada objek yang tidak digunakan dan pelupusan yang betul. - ОK, terima kasih. Anda telah menjelaskan beberapa perkara tentang rujukan.

5 Diego, Tugasan seumur hidup Objek

- Hei, Amigo! Berikut ialah beberapa tugasan untuk anda:
Tugasan
1 1. kaedah finalize() kelas Cat
Tulis kaedah yang dilindungi void finalize() throws Throwable dalam kelas Cat
3 2. Kelaskan Cat dan Dog dan kaedah finalize() untuk setiap kelas
Dalam setiap kelas Cat dan Dog tulis kaedah finalize() , yang memaparkan pada skrin mesej bahawa objek itu dimusnahkan.
3 3. 50,000 objek kelas Cat dan 50,000 objek kelas Dog
Buat dalam gelung 50,000 objek kelas Cat dan 50,000 objek kelas Dog. (Mesin maya Java akan memusnahkan objek yang tidak digunakan, jadi kaedah finalize() akan dipanggil sekurang-kurangnya sekali).
4 4. Pembilang Cat
Dalam pembina kelas Cat [public Cat()], naikkan pembilang kucing (catCount pembolehubah statik kelas yang sama) sebanyak 1. Dalam kaedah finalize() berkurang sebanyak 1.

6 Elly, Kelas statik dan kaedah

- Ini adalah topik baru yang menarik. Saya ingin memberitahu anda tentang pembolehubah statik dan kaedah. - Oh, saya sudah mendengar tentang pembolehubah statik. Mengenai kaedah statik juga, saya rasa. Tetapi saya ingin mendapatkan butiran lanjut. - Apabila mengisytiharkan pembolehubah dalam kelas, kami menentukan sama ada pembolehubah ini dicipta dalam satu contoh yang dikongsi atau sama ada perlu untuk mencipta salinannya untuk setiap objek. Secara lalai, salinan baharu pembolehubah kelas dicipta untuk setiap objek kelas ini. Begini rupanya: Tahap Lama 06 - 14- Walaupun pembolehubah cat1.name dan cat2.name diisytiharkan dalam kelas yang sama - Cat, ia menyimpan nilai yang berbeza, kerana ia terikat pada objek yang berbeza. - Ia jelas. - Pembolehubah statik wujud dalam satu contoh; anda perlu mengaksesnya dengan menggunakan nama kelas: Tahap Lama 06 - 15- Ia juga jelas. - Kaedah kelas juga dibahagikan kepada dua kategori. Kaedah biasa dipanggil pada objek dan mempunyai akses kepada data objek ini. Kaedah statik tidak mempunyai akses sedemikian , kerana mereka tidak mempunyai rujukan objek. Kaedah statik boleh mengakses sama ada pembolehubah statik kelas ini atau kaedah statik lain. - Kaedah statik tidak boleh mengakses kaedah bukan statik atau pembolehubah bukan statik! - Kenapa begitu? - Setiap pembolehubah kelas biasa diletakkan di dalam objek. Mana-mana kaedah boleh mengakses pembolehubah tersebut hanya apabila ia mempunyai rujukan kepada objek itu. Rujukan sedemikian tidak dihantar kepada kaedah statik. - Bagaimana dengan kaedah biasa? - Kepada kaedah biasa dihantar rujukan tersembunyi kepada objek kaedah ini dipanggil. Pembolehubah yang menyimpan rujukan ini dipanggil ini . Oleh itu, kaedah sentiasa boleh mendapatkan data objeknya sendiri atau memanggil kaedah bukan statik lain bagi objek yang sama. - Nol dihantar kepada kaedah statik dan bukannya rujukan objek. Oleh itu, kaedah statik tidak boleh mengakses pembolehubah dan kaedah bukan statik - ia hanya tidak merujuk kepada objek yang terikat kepadanya. - Saya faham. - Begitulah cara kaedah bukan statik biasa berfungsi: Tahap Lama 06 - 16- Dan begitulah cara kaedah statik berfungsi: Tahap Lama 06 - 17- Pembolehubah atau kaedah adalah statik jika ia diisytiharkan dengan kata kunci statik. - Dan apakah kebaikan kaedah sedemikian, jika ia sangat terhad? - Pendekatan ini juga mempunyai kelebihannya. - Pertama, anda tidak perlu menghantar sebarang rujukan objek untuk mengakses kaedah statik dan pembolehubah . - Kedua, kadangkala pembolehubah adalah satu-satunya . Seperti, sebagai contoh, pembolehubah System.out (pembolehubah statik daripada Sistem kelas). - Dan ketiga, kadangkala perlu memanggil kaedah sebelum anda boleh mencipta sebarang objek . - Pada kesempatan apa? - Mengapa anda fikir kaedah utama diisytiharkan statik? Untuk memanggilnya serta-merta selepas kelas dimuatkan ke dalam memori sebelum ia mungkin untuk mencipta sebarang objek.

7 Risha, Kelas statik dan kaedah

- Selain kaedah statik terdapat juga kelas statik . Kami akan mempertimbangkan kes ini kemudian, saya hanya akan menunjukkan kepada anda satu contoh: Tahap Lama 06 - 18- Anda boleh mencipta seberapa banyak objek kelas Cat mengikut kehendak anda. Tidak seperti pembolehubah statik, yang wujud dalam satu contoh. - Tujuan utama statik pengubah suai sebelum pengisytiharan kelas adalah untuk mengekalkan hubungan antara kelas Cat dan kelas StaticClassExample . Secara umumnya, kelas Cat tidak terikat (tidak mempunyai rujukan tersembunyi) kepada objek StaticClassExample dan tidak boleh mengakses pembolehubah StaticClassExample biasa (bukan statik). - Jadi saya boleh membuat kelas di dalam kelas lain? - Ya. Java membolehkan ini. Sekarang, jangan terlalu memikirkannya. Kemudian saya akan menerangkan beberapa perkara lain, dan semuanya akan menjadi lebih mudah. - Saya harap begitu.

8 Diego, Tugas pada kaedah statik

- Hei, Amigo! Berikut ialah beberapa tugas menarik mengenai kaedah statik:
Tugasan
1 1. Kelas Cat dan pembolehubah statik catCount
Tulis pembolehubah statik int catCount dalam kelas Cat. Cipta pembina [ public Cat() ], di mana pembolehubah yang diberikan harus ditingkatkan sebanyak 1.
2 2. Kaedah statik: int getCatCount() dan setCatCount(int)
Tambah dua kaedah statik pada kelas Cat: int getCatCount( ) dan setCatCount(int) yang anda boleh dapatkan / tukar bilangan kucing (catCount pembolehubah)
3 3. Class Util
Laksanakan kaedah statik double getDistance(x1, y1, x2, y2) . Ia harus mengira jarak antara titik. Gunakan kaedah double Math.sqrt(double a) untuk mengira punca kuasa dua parameter yang diluluskan
4 4. Kelas ConsoleReader
Tulis ConsoleReader kelas, yang akan mempunyai 4 kaedah statik:
- Rentetan readString() untuk membaca rentetan daripada papan kekunci
- int readInt() untuk membaca nombor daripada papan kekunci
- double readDouble() untuk membaca nombor pecahan daripada papan kekunci
- batal readLn () untuk menunggu untuk menekan enter [gunakan readString()]
5 5. Kelas StringHelper
Tulis StringHelper kelas, yang akan mempunyai 2 kaedah statik:
- Darab rentetan(String s, kiraan int) harus mengembalikan masa kiraan berulang rentetan.
- Darab rentetan(String s) harus mengembalikan rentetan s berulang 5 kali.

Contoh:
Amigo → AmigoAmigoAmigoAmigoAmigo

9 Profesor, skop statik objek dan seumur hidup

Tahap Lama 06 - 19- Ini saya lagi. Malangnya, saya tidak dapat memberi anda sebarang pautan hari ini. Kuliah hebat itu hilang entah ke mana. Saya takut hari ini anda perlu lakukan sendiri. Tetapi lebih baik anda mendengar lebih banyak Elly dan Risha, mereka sentiasa boleh mengajar anda sesuatu. Namun cuba yang ini: Kitaran Hayat Objek

10 Julio

- Hei, Amigo! Anda melakukan kerja yang hebat hari ini. Itulah sebabnya saya tidak boleh memberi anda lebih. Ayuh, duduk, persembahan bermula:

11 Kapten Tupai

- Hello, askar! - Selamat Pagi tuan! - Saya ada berita menggerunkan untuk awak. Berikut ialah semakan pantas untuk mengukuhkan kemahiran anda. Lakukan setiap hari, dan anda akan meningkatkan kemahiran anda dengan cepat. Tugasan direka khas untuk dilakukan dalam Intellij IDEA.
Tugas tambahan yang perlu dilakukan dalam Intellij Idea
1 Kelas Cat dan pembolehubah statik catCount
Tulis pembolehubah statik public int catCount dalam kelas Cat. Buat pembina [public Cat()]. Biarkan pembolehubah statik catCount meningkat sebanyak 1 setiap kali anda mencipta kucing (objek baharu Cat). Cipta 10 objek Cat dan paparkan nilai pembolehubah catCount .
2 2. Kucing statik
  1. Tambahkan kucing pembolehubah statik awam (ArrayList<Cat>) dalam kelas Cat.
  2. Setiap kali anda mencipta kucing (objek baharu Kucing), biarkan kucing baharu ini ditambahkan pada kucing pembolehubah . Buat 10 objek Cat.
  3. Kaedah printCats() harus memaparkan semua kucing. Anda perlu menggunakan kucing pembolehubah dalam kaedah tersebut.
Petua:
Untuk mencipta pembolehubah kucing gunakan baris kod:
public static ArrayList<Cat> cats = new ArrayList<Cat>();
3 3. Gerakkan satu pengubah suai statik
Alihkan satu pengubah suai statik supaya kod tersusun.
4 4. Bilangan minimum kata kunci statik
Tambah bilangan minimum kata kunci statik untuk membuat kod disusun dan atur cara berjaya diselesaikan.
5 5. Ada idea baru? Mari berfikir...
  1. Tulis Idea kelas statik awam dalam Penyelesaian kelas
  2. Tulis kaedah awam String getDescription() dalam Idea kelas untuk mengembalikan sebarang mesej yang tidak kosong
  3. Dalam Penyelesaian kelas buat kaedah statik public void printIdea(Idea idea) untuk memaparkan penerangan idea - itulah yang dipulangkan oleh kaedah getDescription()
6 6. KissMyShinyMetalAss
Tulis kelas bernama KissMyShinyMetalAss. Buat objek kelas ini, kemudian paparkannya ke skrin.
7 7. Tiga nama pembolehubah statik
Tulis 3 pembolehubah statik awam: String Solution.name , String Cat.name , String Dog.name