CodeGym /Java Blog /Acak /Tingkat Lama 06
John Squirrels
Level 41
San Francisco

Tingkat Lama 06

Dipublikasikan di grup Acak

Roadmap Pengembang Java

Seorang teman saya bertanya-tanya mengapa pengembang selalu sangat senang. Jawaban yang dia berikan sederhana dan mengejutkan: mereka melakukan apa yang mereka sukai dan menghasilkan banyak uang. Selamat datang di dunia pengembang perangkat lunak. Tingkat Lama 06 - 1

Gaji pengembang perangkat lunak

Saya ingin memberi tahu Anda tentang gaji pengembang. Bagaimana letak tanah dengan gaji, ke mana Anda harus pergi bekerja, dan ke mana Anda tidak boleh bekerja. Jika Anda bukan seorang pengembang dan mencoba memecahkannya sendiri, Anda mungkin mendapatkan data yang agak kontroversial. Intinya, faktor utama yang mempengaruhi gaji developer bukanlah kualifikasi, melainkan tempat kerja. Kadang-kadang, dengan tingkat kualifikasi yang sama, perbedaan antara tempat kerja yang baik dan buruk bisa 2 sampai 10 kali (!) Setiap saat kualifikasi Anda konstan. Anda tidak bisa menjadi dua kali lebih memenuhi syarat dalam sebulan dan dibayar dua kali lipat. Tapi Anda bisa pindah tempat kerja dalam sebulan dan mendapat gaji dua kali lebih besar. Sekali dalam aliran dua bulan, gaji saya dikalikan tiga (!) – Pengalaman yang tak terlupakan. Jadi, mari kita cari tahu, tempat mana yang terbaik.
  1. Apakah bisnis utama suatu perusahaan adalah pengembangan perangkat lunak
  2. Apakah perusahaan berorientasi pada pasar global atau lokal
  3. Di mana kantor pusat berada: negara maju atau negara berkembang
Perhatikan bahwa kota tempat Anda bekerja tidak relevan. Artinya, jika penghasilan Anda lima kali lebih sedikit di Barcelona daripada teman Anda di New-York, faktor-faktor yang saya sebutkan mungkin telah memengaruhi. 

Angka-angka tertentu

Karena gaji berbeda di berbagai belahan dunia, saya mengusulkan untuk mengambil gaji Pengembang Java Senior dengan pengalaman 5 tahun sebagai titik awal dan menyebutnya "maksimum 5 tahun". Semua angka di bawah ini akan diberikan sebagai persentase dari jumlah ini. Berikut adalah beberapa contoh gaji “maksimal 5 tahun” di berbagai kota di dunia: Tingkat Lama 06 - 2Di bawah ini ditunjukkan berapa banyak yang dapat diperoleh Pengembang Senior Java dengan pengalaman 5 tahun tergantung pada perusahaan tempat dia bekerja: Tingkat Lama 06 - 3Tingkat Lama 06 - 4Apa hal yang paling aneh tentang situasi saat ini? Separuh dari semua programmer bekerja di perusahaan level 1 dan 2. Apakah Anda ingin tahu, apa tangkapannya? Ada ratusan lowongan yang dibuka di perusahaan level 3 dan 4. Perusahaan-perusahaan ini bersedia menawarkan gaji yang lebih tinggi dan, biasanya, kondisi kerja yang lebih baik. Saya mengenal dua Java Junior, salah satunya mendapat pekerjaan dengan gaji sekitar 3% dari "maksimal 5 tahun" (perusahaan level 1), dan yang lain mendapat pekerjaan dengan gaji 30% dari "maksimal 5 tahun" (level 4). Jadi mengapa mendapatkan lebih sedikit? Permintaan programmer melebihi penawaran – jangan pergi bekerja di mana Anda dibayar lebih rendah! Kesimpulan 1: Gaji rata-rata untuk developer Java (dengan pengalaman apa pun) adalah 40%-50% dari gaji “maksimum 5 tahun”. Kesimpulan 2: Gaji rata-rata Anda dalam 5 tahun akan menjadi sekitar 90%-110% dari gaji “maksimal 5 tahun”, jika Anda tidak bekerja di perusahaan level 1 dan 2, dan bekerja di perusahaan level 3 dan 4.

Apa yang dapat Anda capai kecuali Anda melakukan hal-hal bodoh

Jika Anda mulai mengerjakan pendidikan mandiri Anda dalam pemrograman sekarang, gaji Anda mungkin terlihat seperti ini: Tingkat Lama 06 - 5

Rencana

0-3 bulan (Pelajar)

Anda tahu sedikit tentang pemrograman. Anda mungkin pernah mempelajarinya di sekolah atau di perguruan tinggi pada tingkat dasar. Yang perlu Anda lakukan adalah mempelajari cara memprogram dan mempelajari Java. Tujuan Anda adalah mendapatkan pekerjaan sebagai Java Junior Developer di perusahaan level 3 atau lebih tinggi. Selama tiga bulan pertama dari rencana Anda tidak akan mendapatkan apa-apa, karena Anda baru belajar bagaimana memprogram. Tapi lebih awal Anda memulai lebih baik. Waktu terbaik adalah SEKARANG. Di masa depan, ketika Anda memiliki keluarga dan banyak pinjaman, akan jauh lebih sulit untuk memenuhi syarat. Untuk memperbaiki kesalahan Anda, Anda harus menyisihkan uang untuk membayar setidaknya satu tahun kehidupan normal. Jangan membuat kesalahan konyol.

3-15 bulan (Java Junior Developer)

Anda sudah bekerja sebagai pengembang perangkat lunak dan pengalaman Anda bertambah setiap hari. Jangan santai. Banyak yang harus Anda lakukan sebelum beristirahat di atas dayung. Yang perlu Anda lakukan adalah – mempelajari teknologi yang Anda perlukan sebagai Pengembang Menengah. Apa ini? Dunia terus berubah. Saya akan memuat Anda dengan nasihat dan hidup akan mengubah semuanya. Temukan beberapa lowongan di web dan lihat apa yang perlu Anda lamar. Pastikan untuk membaca buku karya Bruce Eckel “Thinking in Java”. Tujuan Anda di tahun pertama bekerja sebagai Java Junior Developer adalah mencapai level Java Middle Developer. Tidak ada yang mengatakan itu mudah, tetapi itu mungkin bagi orang yang berorientasi pada tujuan. Ini akan meningkatkan gaji Anda dalam sekejap hingga 40% dari "maksimum 5 tahun" ($50K untuk SF dan London, $6K untuk Bangalore).

Pemrograman 2 tahun (Java Middle Developer, level 1)

Anda telah melakukan pekerjaan dengan baik tahun lalu dan sekarang Anda adalah Java Middle Developer. Anda dapat hidup dengan cukup baik dengan mendapatkan 50% dari gaji Pengembang Senior Java. Anda diberi beberapa tugas serius di tempat kerja dan pengalaman Anda tumbuh secara signifikan. Anda akan mencapai level Pengembang Senior Java dalam dua atau tiga tahun. Tidak perlu terburu-buru. Lagi pula, Anda tidak akan mendapatkan gaji yang besar. Yang perlu Anda lakukan adalah mempelajari pola desain, baca – Kode Lengkap McConnell. Sempurnakan kualitas kode dan keterampilan tim Anda. Buat aturan membaca 1 buku tentang pemrograman komputer setiap bulan. Kemudian, dalam 4 tahun Anda akan menjadi 50 buku lebih pintar dari yang lainnya. Jangan tunda: Anda tidak akan mendapatkan lebih banyak waktu luang, selain itu, kemungkinan besar Anda akan memulai sebuah keluarga, atau jika Anda memilikinya, itu akan menjadi lebih besar. Tujuan Andaadalah memilih beberapa teknologi untuk dijadikan spesialisasi sebagai Pengembang Java Senior. Anda tidak bisa mempelajari semuanya, Anda tahu. Dan itu selalu merupakan keputusan yang bagus untuk menjadi guru dalam satu spesialisasi. Tingkat Lama 06 - 6

Pemrograman 3 tahun (Java Middle Developer, level 2)

Anda sekarang adalah Pengembang Menengah yang berpengalaman dan Anda berpikir untuk menjadi Pengembang Senior. Ini menyenangkan sekaligus bergengsi. Gaji Anda melebihi 60% dari “maksimum 5 tahun” ($10K di Bangalore, $25K di Kiev, $40K di Berlin, $80K di New York). Mulai saat ini, permintaan untuk profesional seperti Anda menaikkan tawaran. Anda akan selalu dapat menemukan pekerjaan dalam beberapa hari dan Anda hampir tidak akan pernah mendapatkan penghasilan kurang dari yang Anda dapatkan sekarang. Itu, tentu saja, jika Anda tidak melakukan hal bodoh. Yang perlu Anda lakukan adalahterus pelajari teknologi yang Anda pilih. Bekerja lebih baik. Bukan untuk kepentingan majikan Anda, untuk kepentingan Anda sendiri. Mendaftar untuk berpartisipasi dalam proyek yang melibatkan teknologi yang menjanjikan (seperti BigData, saat ini artikel ini sedang ditulis). Lagi pula, Anda akan menghabiskan 8 jam sehari di kantor, jadi mengapa tidak mendapatkan sedikit lebih banyak uang untuk itu, dan, yang jauh lebih penting, pengalaman paling berharga yang akan Anda perlukan di masa mendatang. Tujuan Anda adalah mencari pekerjaan baru. Tim yang bagus selalu ditemukan. Anda akan menghadapi proyek dan teknologi baru. Anda tidak perlu melakukan root ke kursi Anda. Jika Anda masih bekerja di perusahaan tingkat ketiga, pertimbangkan untuk mempekerjakan perusahaan tingkat keempat.

Pemrograman tahun ke-5 (Pengembang Senior Java, level 1

Anda sekarang adalah Pengembang Senior. Mungkin, Anda tidak pantas mendapatkannya, dan Anda merasakannya. Tetap saja, selamat. Tidak masalah apakah Anda layak untuk posisi Anda sekarang, yang terpenting adalah Anda layak mendapatkannya di masa depan. Saya pikir Anda akan setuju lebih baik untuk mendapatkan pekerjaan yang baik dan setelah tumbuh ke tingkat yang dibutuhkan kemudian sebaliknya. Saya harap Anda tidak melupakan saran saya untuk membaca satu buku dalam sebulan? Setiap siswa akan iri dengan pengetahuan dan keterampilan Anda sekarang. Untuk lebih spesifik, dia akan mendoakan mereka. Bayangkan saja: Anda mendapatkan penghasilan yang serius, mendekati 90% dari gaji “maksimum 5 tahun”. Anda mungkin masih muda. Dunia ada di kaki Anda. Yang perlu Anda lakukan adalahuntuk mengevaluasi kembali teknologi yang telah Anda pilih. Mungkin, Anda perlu mengubah spesialisasi. Dunia telah berubah, teknologi berubah, dan Anda telah memperoleh cukup banyak pengetahuan dalam dua tahun terakhir. Apa yang Anda pilih sekarang akan menjadi headline untuk beberapa tahun ke depan bagi Anda. Saatnya memilih teknologi favorit Anda. Tujuan Anda adalah memilih arah pertumbuhan Anda. Jumlahnya banyak, tidak ada yang bisa menyebutkan semuanya, tetapi pilihan Anda harus dilakukan sekarang. Jika Anda membuat perubahan kecil hari ini, Anda akan mendapatkan perubahan besar di masa depan.

Pemrograman tahun ke-6 (Pengembang Senior Java, level2)

Anda telah memutuskan masa depan Anda dan Anda sedang mengerjakan impian Anda untuk menjadi kenyataan. Arah yang dipilih dengan benar seiring dengan keinginan untuk maju – dan hasilnya tidak akan lama. Selamat. Saya senang melihat ada satu orang lagi yang mendaratkan mimpinya. Ada satu kebenaran yang mendalam. Orang sering melebih-lebihkan apa yang dapat mereka capai dalam satu tahun dan meremehkan apa yang dapat mereka lakukan dalam lima tahun. Lihatlah lima tahun yang lalu. Memang begitu. Yang perlu Anda lakukan adalah menghindari keputusan yang tidak bijaksana dan tidak malas. Tujuan Anda adalah memilih arah dan bergerak maju. Atau apakah Anda pikir itu berakhir di sini? Ingat kelulusanmu. Ini bukan akhir, itu hanya awal.

Anda spesialisasi masa depan

Tingkat Lama 06 - 7Anda dapat tumbuh sebagai spesialis teknis (cabang atas), sebagai manajemen (cabang bawah) atau sebagai konsultan profesional/independen yang disewa (cabang menengah). Itu semua tergantung pada apa yang Anda sukai.

Karier Pengembang Java

Karier pengembang berbeda dari yang lain. Anda tidak perlu menjadi manajer untuk mendapatkan banyak uang. Sering terjadi bahwa Pengembang Senior menghasilkan lebih banyak daripada manajer-bosnya. Semakin banyak pengalaman yang Anda dapatkan, semakin kuat hubungan kerja Anda dengan atasan Anda berubah dari "bos-bawahan" menjadi "bintang dan manajer". Manja mengetahui nilai mereka pengembang memilih proyek dan lowongan. Mari berbahagia untuk orang-orang kita sendiri. Jadi, apa yang Anda butuhkan untuk menjadi pengembang populer yang bernilai tinggi dan berskala dunia? Anda harus memiliki pengalaman besar dalam teknologi yang paling diminati dan baru. Bagaimana cara mencapai ini? Lihat di bawah. Tingkat Lama 06 - 8Segera setelah Anda mendapatkan pekerjaan sebagai pengembang, dua hal mulai terjadi pada Anda; tetap saja, mereka tidak selalu terlihat. 1. Anda mendapatkan pengalaman dalam proyek nyata dan tumbuh dengan cepat. Satu tahun dalam pekerjaan ini memberi Anda lebih banyak pengalaman daripada 5 tahun di perguruan tinggi. Pengalaman adalah masalah yang sangat penting sehingga mereka menulis "Pengembang Java dengan pengalaman 3 tahun diperlukan" dalam lowongan yang diposting. 2. Anda mempelajari teknologi baru 8 jam sehari dan dibayar dengan baik untuk itu. Anda benar-benar tidak bisa melebih-lebihkan fakta ini. Dalam beberapa kasus, keterampilan yang Anda peroleh sangat berharga sehingga Anda dapat bekerja secara gratis untuk mendapatkannya atau bahkan membayar. Jika Anda memilih proyek yang Anda kerjakan dengan bijak, Anda akan memiliki karir pengembang perangkat lunak yang luar biasa. Jadi… apa yang harus dipilih? Seringkali Anda tidak tahu teknologi mana yang akan berguna, jadi Anda mulai memilih "suka dan tidak suka" dan "tren mode". Anda mungkin beruntung atau mungkin tidak. Jadi sebaiknya Anda mengetahui tujuan Anda terlebih dahulu. Ada banyak cara untuk berkembang bagi pemrogram, jadi, untuk membuatnya sederhana, saya akan memilih beberapa di antaranya dan menuliskan visi saya tentang situasi ke depan. Jangan menganggap pola ini sebagai garis keras; ini lebih merupakan pandangan yang disederhanakan dari hal-hal yang disajikan untuk memperjelasnya.

Pengembang berusia dua ratus tahun

Jika Anda paling menikmati pemrograman, maka inilah cara Anda: Pengembang Senior, kemudian Pengembang Pimpinan Teknologi, dan seorang arsitek. Dengan cara ini Anda dapat bekerja sebagai pengembang selama 50 tahun atau lebih. Dalam sebagian besar kasus, gaji Pengembang Senior dan Pengembang Pimpinan Teknologi melebihi gaji manajer mereka. Jadi dapatkan nilai uang Anda.

Pengelola. Kamu beruntung tidak seperti yang lain

Anda pergi ke musuh. Cuma bercanda. Jika Anda menemukan keterampilan organisasi yang hebat, maka cara Anda adalah: Pemimpin Tim, lalu Manajer Proyek. Ini akan memberi Anda kesempatan untuk menjadi kepala departemen dan membuka bisnis Anda sendiri. Itu yang Anda inginkan, bukan?

Rumah adalah tempat hati berada

Tingkat Lama 06 - 9Jika Anda sudah memulai sebuah keluarga , mungkin Anda ingin memiliki kehidupan yang menyenangkan dan tenang di negara dengan ekonomi yang kuat. Mungkin Anda mempertimbangkan untuk pindah ke Kanada, AS, Swiss, atau bahkan Australia. Anda memiliki keterampilan yang sangat baik dan profesi yang diminati. Anda tidak harus mulai dari mencuci piring. Anda akan mulai sebagai Pengembang Senior Java. Mungkin, menghasilkan banyak. Tidak buruk, kan?

Lihat Naples dan jangan mati.

Anda belum memiliki keluarga dan Anda suka bepergian . oDesk adalah segalanya bagi Anda. Temukan klien, setujui tarif $20-$50 per jam, bawa laptop dan pergilah! Gaji Anda akan cukup untuk hidup di mana saja di dunia. Mengapa tidak segera mulai mewujudkan impian Anda?

Saya tidak ingin memprogram, saya perempuan ..

Jika Anda perempuan , Anda mungkin perlu mengambil cuti hamil . Kedengarannya seperti lelucon seksis. Tetap saja, ada banyak akal sehat di dalamnya. Kemungkinan besar, mengambil cuti melahirkan Anda akan bisa mendapatkan banyak uang cuti melahirkan (di negara-negara dengan perlindungan sosial yang tinggi). Ada perusahaan yang tidak membayar apa-apa, dan ada juga yang membayar dengan baik. Salah satu siswa saya mendapat sepertiga dari gaji tahunan untuk cuti melahirkan. Dan ini terjadi pada musim semi 2009, saat pemutusan hubungan kerja. Dan dalam satu setengah tahun Anda mungkin kembali, setidaknya menjadi Pengembang Menengah.

Tingkat 6

Tingkat Lama 06 - 10

1 Elly. Visibilitas objek. batal

- Hei, Amigo! - Hai, Elly! Maukah Anda memberi tahu saya sesuatu yang menarik hari ini? - Hari ini saya akan memberi tahu Anda tentang masa hidup suatu objek . Setelah objek dibuat, objek tersebut ada (hidup) hingga setidaknya satu variabel menyimpan alamatnya (setidaknya ada satu referensi objek). Jika tidak ada referensi lagi, maka objek tersebut mati. Contoh: Tingkat Lama 06 - 11- Objek «kucing Tommy» hanya ada di satu baris sejak objek itu dibuat. Di baris berikutnya, hanya variabel yang menyimpan referensinya yang disetel ke null dan mesin virtual Java akan menghancurkan objek. - Objek «cat Sammy» setelah pembuatannya disimpan dalam variabel cat1. Atau, lebih tepatnya, cat1 menyimpan referensi ke objek tersebut. Kemudian beberapa baris di bawah referensi ini disalin ke cat2 variabel. Setelah itu referensi ke objek lain disimpan di cat1, dan referensi ke «cat Sammy» hanya tersisa di cat2. Akhirnya, di baris terakhir dari metode main, referensi terakhir ke objek diatur ke null. - Objek «cat Maisy» hanya ada di satu baris sejak saat objek itu dibuat. Pada baris berikutnya variabel cat2 diberi nilai lain dan referensi ke «cat Maisy» hilang. Objek menjadi tidak terjangkau dan dianggap sampah (mati). - Objek «cat Ginger» sudah ada sejak saat dibuat hingga akhir metode. Saat runtime saat metode keluar, variabel cat1 akan dihancurkan, dan setelah objek «cat Ginger» akan dihancurkan juga. - Itu sudah jelas. - Namun, jika Anda membuat objek Cat dalam beberapa metode dan menyimpan referensinya dalam variabel kelas, maka Cat akan tetap ada selama ada referensi dari objek lain yang sudah ada. - Biasanya, suatu objek tidak langsung hancur. Mesin virtual Java sesekali mengaktifkan pengumpulan sampah untuk menghapus objek yang tidak digunakan. Aku akan memberitahumu tentang itu nanti. - Jika Anda ingin beberapa variabel berhenti menyimpan referensi objek, Anda dapat menetapkan nilai null atau referensi ke objek lain.

2 Profesor, Pengumpulan sampah

Tingkat Lama 06 - 12- Hei, Amigo! Inilah tautan bermanfaat tentang pengumpulan sampah di Jawa. Itu tentu saja bukan ceramah saya yang luar biasa, tapi itu cukup bagus: Dasar-Dasar Pengumpulan Sampah Java

3 Elly, selesaikan

- Halo lagi! Sekarang saya akan memberi Anda pengenalan singkat tentang metode finalize() . Metode ini dipanggil oleh mesin virtual Java pada objek sebelum objek dihancurkan. Faktanya, metode ini berlawanan dengan konstruktor. Dalam metode ini dimungkinkan untuk melepaskan sumber daya yang digunakan oleh suatu objek. - Kelas Objek memiliki metode ini, oleh karena itu, setiap kelas memilikinya ( semua kelas di Jawa dianggap diwarisi dari kelas Objek dan berisi salinan metodenya ). Jika Anda menulis di kelas Anda metode finalize() dan itu akan dipanggil sebelum objek kelas ini dihancurkan. Contoh: Tingkat Lama 06 - 13- Mengerti. - Tapi ada satu hal. Mesin virtual Java memutuskan sendiri apakah akan memanggil metode ini atau tidak.Paling sering, objek yang dibuat dalam metode dan dideklarasikan sebagai sampah setelah keluar, segera dihancurkan dan tanpa panggilan apa pun dari metode finalize(). Metode ini adalah satu lagi instrumen kontrol atas alokasi sumber daya eksternal (di luar JVM). Anda sebaiknya melepaskan semua sumber daya eksternal yang digunakan dan mengatur ulang referensi yang disimpan saat Anda ingin objek dihancurkan. Saya akan memberi tahu Anda tentang kelebihan metode ini dan detail pekerjaannya di 10 atau 20 level. Sementara itu, Anda harus mengetahui dua hal: metode seperti itu ada, dan ( surprise! ) tidak selalu dipanggil.

4 Elly, Obyek seumur hidup

- Saya juga ingin memberi tahu Anda beberapa hal menarik tentang objek seumur hidup. Di Jawa, sangat sulit kehilangan objek secara tidak sengaja; jika Anda memiliki referensi objek, itu berarti objek tersebut pasti hidup. - Di dalam referensi objek menyimpan nomor – alamat objek ini di memori. Anda tidak dapat mengubah angka itu, menambah atau menguranginya. Anda tidak dapat membuat referensi jika Anda hanya memiliki alamat di memori. Anda hanya dapat membuat objek baru dan menetapkan referensinya ke sebuah variabel. Ini adalah satu-satunya cara untuk mendapatkan referensi baru. - Jadi begitu. Yaitu, jika saya mengatur ke null (menghapus) semua referensi objek, saya tidak akan pernah mendapatkan referensi objek dan mengaksesnya? - Ya. Namun seringkali yang terjadi justru sebaliknya – terlalu banyak benda hidup yang tidak terpakai.Sebagian besar program membuat lusinan objek dan menyimpannya dalam daftar berbeda saat runtime, tetapi tidak pernah membersihkan daftar tersebut. - Sebagian besar, pemrogram memberi label objek yang tidak diinginkan sebagai "dihapus", itu saja. Tidak ada yang peduli dengan penghapusan mereka dari daftar. Begitu besar program Java cenderung membengkak - semakin banyak objek yang tidak terpakai tetap hidup di memori. - Itu saja. Di masa mendatang, saya akan selalu menarik perhatian Anda ke objek yang tidak terpakai dan pembuangannya yang tepat. - ОK, terima kasih. Anda telah membereskan beberapa hal tentang referensi.

5 Diego, Objek tugas seumur hidup

- Hei, Amigo! Berikut beberapa tugas untuk Anda:
Tugas
1 1. finalize() metode kelas Cat
Tulis metode yang dilindungi void finalize() throws Throwable di kelas Cat
3 2. Kelas Cat and Dog dan metode finalize() untuk setiap kelas
Di setiap kelas Cat dan Dog, tulis metode finalize() , yang menampilkan pesan bahwa objek akan dihancurkan ke layar.
3 3. 50.000 objek kelas Kucing dan 50.000 objek kelas Anjing
Buat dalam lingkaran 50.000 objek kelas Kucing dan 50.000 objek kelas Anjing. (Mesin virtual Java akan menghancurkan objek yang tidak terpakai, sehingga metode finalize() akan dipanggil setidaknya sekali).
4 4. Penghitung kucing
Dalam konstruktor kelas Cat [public Cat()], tingkatkan penghitung kucing (variabel statis catCount dari kelas yang sama) sebesar 1. Dalam metode finalize() turunkan sebesar 1.

6 Elly, kelas dan metode statis

- Ini topik baru yang menarik. Saya ingin memberi tahu Anda tentang variabel dan metode statis. - Oh, saya sudah mendengar tentang variabel statis. Tentang metode statis juga, saya kira. Tapi saya ingin memiliki rincian lebih lanjut. - Saat mendeklarasikan variabel di kelas, kami menentukan apakah variabel ini dibuat dalam satu instance bersama, atau apakah perlu membuat salinannya untuk setiap objek. Secara default, salinan baru dari variabel kelas dibuat untuk setiap objek kelas ini. Berikut tampilannya: Tingkat Lama 06 - 14- Meskipun variabel cat1.name dan cat2.name dideklarasikan dalam kelas yang sama - Cat, mereka menyimpan nilai yang berbeda, karena mereka terikat pada objek yang berbeda. - Itu sudah jelas. - Variabel statis ada dalam satu contoh; Anda perlu mengaksesnya dengan menggunakan nama kelas: Tingkat Lama 06 - 15- Jelas juga. - Metode kelas juga dibagi menjadi dua kategori. Metode biasa dipanggil pada objek dan memiliki akses ke data objek ini. Metode statis tidak memiliki akses seperti itu , karena mereka tidak memiliki referensi objek. Metode statis dapat mengakses variabel statis kelas ini atau metode statis lainnya. - Metode statis tidak dapat mengakses metode non-statis atau variabel non-statis! - Kenapa begitu? - Setiap variabel kelas biasa ditempatkan di dalam objek. Metode apa pun dapat mengakses variabel tersebut hanya jika memiliki referensi ke objek itu. Referensi semacam itu tidak diteruskan ke metode statis. - Bagaimana dengan metode biasa? - Untuk metode biasa dilewatkan referensi tersembunyi ke objek metode ini dipanggil. Variabel yang menyimpan referensi ini disebut this . Dengan demikian, metode tersebut selalu dapat memperoleh data dari objeknya sendiri atau memanggil metode non-statis lain dari objek yang sama. - Null diteruskan ke metode statis alih-alih referensi objek. Oleh karena itu, metode statis tidak dapat mengakses variabel dan metode non-statis - metode ini tidak memiliki referensi ke objek yang terikat padanya. - Jadi begitu. - Begitulah cara kerja metode non-statis biasa: Tingkat Lama 06 - 16- Dan begitulah cara kerja metode statis: Tingkat Lama 06 - 17- Variabel atau metode adalah statis jika dideklarasikan dengan kata kunci statis. - Dan apa gunanya metode seperti itu, jika jumlahnya sangat terbatas? - Pendekatan ini juga memiliki kelebihan. - Pertama, Anda tidak perlu memberikan referensi objek apa pun untuk mengakses metode dan variabel statis . - Kedua, terkadang variabelnya perlu satu-satunya . Seperti, misalnya, variabel System.out (variabel statis keluar dari sistem kelas). - Dan ketiga, terkadang perlu memanggil metode sebelum Anda dapat membuat objek apa pun . - Dalam rangka apa? - Menurut Anda mengapa metode main dinyatakan statis? Untuk memanggilnya segera setelah kelas dimuat ke dalam memori sebelum membuat objek apa pun dimungkinkan.

7 Risha, Kelas dan metode statis

- Selain metode statis, ada juga kelas statis . Kami akan mempertimbangkan kasus ini nanti, saya hanya akan menunjukkan contohnya: Tingkat Lama 06 - 18- Anda dapat membuat objek kelas Cat sebanyak yang Anda inginkan. Tidak seperti variabel statis, yang ada dalam satu instance. - Tujuan utama pengubah statis sebelum deklarasi kelas adalah untuk menjaga hubungan antara kelas Cat dan kelas StaticClassExample . Secara umum, kelas Cat tidak terikat (tidak memiliki referensi tersembunyi) ke objek StaticClassExample dan tidak dapat mengakses variabel StaticClassExample biasa (non-statis). - Jadi saya bisa membuat kelas di dalam kelas lain? - Ya. Java memungkinkan hal ini. Sekarang, jangan terlalu memikirkannya. Nanti saya akan menjelaskan beberapa hal lain, dan semuanya akan menjadi sedikit lebih mudah. - Saya harap begitu.

8 Diego, Tugas pada metode statis

- Hei, Amigo! Berikut adalah beberapa tugas menarik tentang metode statis:
Tugas
1 1. Kelas Cat dan variabel statis catCount
Tulis variabel statis int catCount di kelas Cat. Buat konstruktor [ public Cat() ], di mana variabel yang diberikan harus ditambah 1.
2 2. Metode statis: int getCatCount() dan setCatCount(int)
Tambahkan dua metode statis ke kelas Cat: int getCatCount( ) dan setCatCount(int) yang dapat digunakan untuk mendapatkan / mengubah jumlah kucing (variabel catCount)
3 3. Kelas Util
Terapkan metode statis getDistance ganda (x1, y1, x2, y2) . Itu harus menghitung jarak antar titik. Gunakan metode double Math.sqrt(double a) untuk menghitung akar kuadrat dari parameter yang diteruskan
4 4. Kelas ConsoleReader
Tulis kelas ConsoleReader, yang akan memiliki 4 metode statis:
- String readString() untuk membaca string dari keyboard
- int readInt() untuk membaca angka dari keyboard
- double readDouble() untuk membaca angka pecahan dari keyboard
- void readLn () untuk menunggu menekan enter [gunakan readString()]
5 5. Kelas StringHelper
Tulis sebuah kelas StringHelper, yang akan memiliki 2 metode statis:
- String perkalian(String s, int count) harus mengembalikan waktu hitungan berulang string.
- String perkalian(String s) harus mengembalikan string s diulang 5 kali.

Contoh:
Amigo → AmigoAmigoAmigoAmigoAmigo

9 Profesor, ruang lingkup statis objek dan seumur hidup

Tingkat Lama 06 - 19- Ini aku lagi. Sayangnya, saya tidak dapat memberi Anda tautan apa pun hari ini. Ceramah-ceramah hebat itu hilang entah kemana. Saya khawatir hari ini Anda harus melakukannya sendiri. Tapi sebaiknya kamu lebih banyak mendengarkan Elly dan Risha, mereka selalu bisa mengajarimu sesuatu. Namun coba yang ini: Object Lifecycle

10 Julio

- Hei, Amigo! Anda melakukan pekerjaan yang hebat hari ini. Itu sebabnya saya tidak bisa memberi Anda lebih banyak. Ayo duduk, pertunjukan dimulai:

11 Kapten Tupai

- Halo, prajurit! - Selamat pagi Pak! - Saya punya berita luar biasa untuk Anda. Inilah pemeriksaan cepat untuk memperkuat keterampilan Anda. Lakukan setiap hari, dan Anda akan meningkatkan keterampilan Anda dengan cepat. Tugas dirancang khusus untuk dilakukan di Intellij IDEA.
Tugas tambahan yang harus dilakukan di Intellij Idea
1 Kelas Cat dan variabel statis catCount
Tulis variabel statis public int catCount di kelas Cat. Buat konstruktor [public Cat()]. Biarkan variabel statis catCount bertambah 1 setiap kali Anda membuat kucing (objek baru Cat). Buat 10 objek Cat dan tampilkan nilai dari variabel catCount .
2 2. Kucing statis
  1. Tambahkan kucing variabel statis publik (ArrayList<Cat>) di kelas Cat.
  2. Setiap kali Anda membuat kucing (objek baru Cat), biarkan kucing baru ini ditambahkan ke variabel cats . Buat 10 objek Kucing.
  3. Metode printCats() harus menampilkan semua kucing. Anda perlu menggunakan variabel kucing dalam metode ini.
Tip:
Untuk membuat variabel kucing , gunakan baris kode:
public static ArrayList<Cat> cats = new ArrayList<Cat>();
3 3. Pindahkan satu pengubah statis
Pindahkan satu pengubah statis agar kode terkompilasi.
4 4. Jumlah minimum kata kunci statis
Tambahkan jumlah minimum kata kunci statis untuk membuat kode dikompilasi dan program berhasil diselesaikan.
5 5. Ada ide baru? Mari berpikir...
  1. Tulis Ide kelas statis publik di Solusi kelas
  2. Tulis metode public String getDescription() di kelas Ide untuk mengembalikan pesan yang tidak kosong
  3. Di kelas Solusi, buat metode statis public void printIdea(Idea idea) untuk menampilkan deskripsi ide - itulah yang dikembalikan oleh metode getDescription()
6 6. KissMyShinyMetalAss
Tulis kelas bernama KissMyShinyMetalAss. Buat objek kelas ini, lalu tampilkan ke layar.
7 7. Tiga nama variabel statis
Tulis 3 variabel statis publik: String Solution.name , String Cat.name , String Dog.name
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION