JavaRush /Blog Java /Random-MS /Pengubah suai atau cara menghantar pesona dalam dunia Jav...
Petr Gorskin
Tahap
Москва

Pengubah suai atau cara menghantar pesona dalam dunia Java

Diterbitkan dalam kumpulan
Selamat hari galaksi, kawan-kawan! Ini adalah manuskrip antara planet pertama saya, dan kerana saya seorang jurutera, tafsiran beberapa konsep boleh dilakukan dalam bahasa luar angkasa.
Pengubah suai atau cara menghantar pesona dalam dunia Java - 1
Pengenalan Pada pendapat saya, Java adalah seperti koridor yang tidak berkesudahan dengan pintu (pakej). Di belakang setiap pintu ini terdapat ruang kosong dan kabinet fail di mana segunung skrol ajaib dengan arahan (kelas) untuk mencipta objek disimpan. Setiap skrol menerangkan satu set ciri (pembolehubah) dan kebolehan (kaedah) - tindakan (medan) yang dilakukan sama ada pada kelas itu sendiri atau objek yang dipasang berdasarkannya. Pada peringkat ini, mari bayangkan diri kita sebagai ahli sihir dan cuba mencipta arahan (kelas) yang sama sekali baru. Jadi: Pengubah suai atau cara menghantar pesona dalam dunia Java - 2Mari kita minum elixir of wisdom (belajar asas) dan mula menulis arahan. Pengubah suai akses dan bukan akses Mari kita bayangkan bahawa apa-apa arahan dan objek yang dicipta berdasarkannya, serta ciri dan kebolehannya, pada mulanya akan terpesona secara ajaib, i.e. mereka akan diberikan set pengubahsuai khusus. Mari cuba buat panduan tentang kemungkinan pesona.
  1. Pengubah suai akses , yang menerangkan kebolehcapaian kelas, objek atau medan, diperlukan: jika tiadanya, JVM (ini adalah sumber sihir sejagat) secara automatik memberikan pengecam lalai kepada pakej.

    Bermula dari pengubah kedua terdapat pengubah bukan akses, yang tidak wajib dan juga boleh bercanggah antara satu sama lain (tetapi perkara pertama dahulu).

  2. Pengubah suai Statik menunjukkan bahawa kelas, objek atau medan adalah statik. Tetapi apakah maksudnya? Pada asasnya kami akan mencubanya di padang.

    Pembolehubah statik dipanggil pembolehubah kelas dan unik kepada semua kejadian kelas itu. Kaedah statik boleh dipanggil tanpa mencipta objek di mana ia diisytiharkan. Kelas statik digunakan apabila menyarangkan satu kelas ke kelas yang lain dan prinsip interaksi antara kelas dalam dan kelas luar adalah serupa dengan kaedah (ini adalah topik untuk perbincangan berasingan). Juga boleh digunakan sebagai blok berasingan dalam objek.

  3. Pengubah suai Akhir dengan berkesan menunjukkan kepada pembolehubah bahawa ia adalah pemalar. Untuk kaedah - bahawa mereka tidak boleh ditindih semasa pewarisan, tetapi untuk kelas ini adalah petunjuk bahawa ia tidak boleh diwarisi daripadanya (tidak boleh diubah).

    Pengubah suai statik dan akhir digunakan pada kelas, objek dan medan. Walau bagaimanapun, terdapat pengubah suai yang digunakan hanya untuk sebahagian daripadanya (atau sebahagian daripadanya, kerana kedua-dua pembolehubah dan kaedah adalah medan, tetapi tidak semua pengubah digunakan untuk kedua-duanya). Jika kita membuat analogi, hanya but dan sarung tangan boleh terpesona untuk kelajuan (untuk menjadikannya bergerak lebih pantas), tetapi mempesonakan topi untuk kelajuan adalah sia-sia (dan Majlis Penyeliaan Sejagat (penyusun) tidak akan membenarkannya).

  4. Pengubah suai Abstrak hanya digunakan pada kaedah dan kelas . Kaedah abstrak ialah kaedah tanpa pelaksanaan (badan).

    Jika kelas ditandakan sebagai abstrak, ia sama ada mengandungi kaedah abstrak atau dilakukan untuk menghalang penciptaan contoh kelas itu. Jika kita melukis analogi, di tengah-tengah arahan anda boleh melihat tajuk "Mewarnai objek", selepas itu tiada penerangan. Itu. menggunakan arahan ini anda boleh mencipta objek dan anda juga boleh mewarnakannya, tetapi arahan khusus ini tidak menyatakan caranya (tulis arahan anda sendiri untuk mencipta objek merah berdasarkan objek ini dan terangkan cara mewarnakannya).

Apabila bekerja dalam persekitaran berbilang benang, pengubah suai khas boleh digunakan:
  1. Pengubah suai Syncronized digunakan hanya untuk kaedah. Kehadirannya menunjukkan bahawa hanya satu utas boleh melaksanakannya pada satu masa. Juga boleh digunakan sebagai blok kod yang berasingan dalam objek (menentukan objek penyegerakan).

  2. Pengubah suai meruap - hanya untuk pembolehubah . Adalah disyorkan untuk digunakan untuk pembolehubah yang boleh digunakan secara serentak oleh berbilang benang. Pembolehubah dengan pengubah suai sedemikian disalin serta-merta daripada cache pemproses ke memori utama setiap kali ia berubah, membenarkan benang selari menerima nilai terkini.

    Perlu diingat bahawa tidak menentu boleh digunakan dalam kes di mana hanya satu utas boleh menulis kepada pembolehubah, dan selebihnya hanya boleh membaca daripadanya. Untuk kes lain, adalah lebih baik untuk menambah pengubah suai disegerakkan kepada kaedah yang menulis kepada pembolehubah yang tidak menentu.

  3. Pengubah suai sementarahanya untuk pembolehubah . Pengubah suai ini menandakan pembolehubah yang perlu dilangkau semasa mensiri objek (ini adalah proses pintar yang, pada dasarnya, anda boleh membacanya sendiri...)*

    * - Saya menulis artikel ini pada tahap 17 dan sehingga itu bersiri sebagai proses tidak diterangkan, jadi daripada menyalin-tampal, saya menasihati anda untuk mengkajinya sendiri jika perlu.

Pasangan Pengubah Suai Bercanggah Selain kebolehgunaan pengubah suai kepada pelbagai kelas, objek dan medan, terdapat juga konsep pasangan bercanggah. Katakan mempesonakan topi keledar dengan kekuatan menjadikannya berat, dan pada masa yang sama anda mahu mempesonakannya menjadi ringan. Satu tidak sesuai dengan yang lain.
  1. Akhir dan Meruap - apabila ia datang kepada pembolehubah, kita tidak boleh pada masa yang sama mengatakan bahawa ia adalah muktamad (malar) dan beberapa utas mempunyai keupayaan untuk mengubahnya... Lagipun, ia adalah malar, dan pada bila-bila masa benang boleh membacanya , tetapi tiada satu utas pun boleh mengubah pemalar (Majlis Penyeliaan Sejagat tidak akan membenarkannya).
  2. Akhir dan Abstrak - kelas dan kaedah tidak boleh kedua-duanya abstrak (yang dalam kebanyakan kes membayangkan keperluan untuk menjelaskannya untuk pelaksanaan) dan muktamad, i.e. tidak berubah. Ternyata arahan mengatakan cara membuat topi keledar tahan lama yang baik dari bahan apa pun (bahagian abstrak), tetapi untuk ini tidak boleh ada lubang di dalamnya (bahagian wajib terakhir, tidak boleh diubah).
  3. Abstrak dan Statik - Kaedah abstrak tidak boleh statik atau disegerakkan pada masa yang sama. Kaedah abstrak statik tidak masuk akal, kerana bukan sahaja ia tidak melakukan apa-apa, tetapi ia juga tergolong dalam keseluruhan kelas - hasilnya adalah perkara yang tidak berguna.
  4. Abstrak dan Disegerakkan - apakah gunanya menyegerakkan kerja dengan kaedah yang tidak melakukan apa-apa?
Kesimpulan Jadi, penerangan pengubahsuai telah berakhir, semua konflik telah diselesaikan dan kini anda boleh menyatukan hasilnya dengan helaian cheat - gambar rajah pesona: Pengubah suai atau cara menghantar pesona dalam dunia Java - 3Sebagai kesimpulan, saya ingin mengatakan bahawa menulis artikel ini adalah merealisasikan keinginan saya untuk mengkaji pengubahsuai. Sama ada pengalaman itu berjaya atau tidak terpulang kepada anda untuk menilai. Saya sedang menunggu cadangan anda untuk menambah baik/membetulkannya dan, mungkin bersama-sama, kami akan menjadikannya sebagai manual yang sangat berguna untuk pemain java pemula.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION