Java Academy · Pelajaran

module-info.java

Isytiharkan modul

Pelajaran 1 daripada 413 langkah

module-info.java ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Sistem Modul

Sistem Modul Platform Java (JPMS), yang diperkenalkan dalam Java 9, membolehkan Anda mengumpulkan pakej ke dalam modul bernama dengan kebergantungan dan sempadan yang jelas.

Pengisytiharan itu terletak dalam fail khas: module-info.java.

Mengapa Modul

Sebelum modul diperkenalkan, laluan kelas ialah himpunan fail JAR yang rata dan tidak berstruktur. Sesiapa sahaja boleh mengakses mana-mana kelas awam, dan kebergantungan yang hilang hanya muncul pada masa jalan.

Modul menambahkan pengkapsulan kukuh dan konfigurasi yang boleh dipercayai yang disahkan semasa kompilasi dan pelancaran.

Tempat module-info Terletak

module-info.java terletak di akar pepohon sumber Anda, di atas direktori pakej. Ia dikompil menjadi module-info.class pada akar modul.

Tepat satu fail wujud bagi setiap modul.

Pengisytiharan Minimum

Modul yang paling ringkas hanya mempunyai nama. Mengikut konvensyen, nama menggunakan DNS songsang, seperti nama pakej.

module com.example.app {
}

Mengisytiharkan Kebergantungan

Gunakan requires untuk bergantung pada modul lain. Setiap modul secara tersirat memerlukan java.base, jadi Anda tidak perlu mengisytiharkan modul itu.

module com.example.app {
    requires java.sql;
    requires java.logging;
}

Mendedahkan Pakej

Secara lalai, pakej modul disembunyikan. Gunakan exports untuk menjadikan jenis awam sesuatu pakej kelihatan kepada modul lain.

module com.example.app {
    exports com.example.app.api;
}

Pengkapsulan Kukuh

Mana-mana pakej yang tidak anda export sama sekali tidak boleh dicapai dari luar, termasuk kelas awamnya. Inilah perbezaan besar berbanding dunia laluan kelas.

Pakej dalaman kekal dalaman, dan JVM menguatkuasakannya.

Peraturan Penamaan Modul

Nama modul mengikut peraturan leksikal yang sama seperti pakej: pengecam yang dipisahkan dengan titik. Pilih nama yang stabil dan unik secara global kerana modul lain bergantung padanya berdasarkan nama.

Penamaan semula modul merupakan perubahan yang memecahkan keserasian untuk penggunanya.

Contoh Lebih Lengkap

Pengisytiharan sebenar menggabungkan keperluan dan eksport. Modul ini bergantung pada pengelogan dan hanya mendedahkan pakej antara muka pengaturcaraan aplikasi awamnya.

module com.example.orders {
    requires java.logging;
    requires com.example.payments;

    exports com.example.orders.api;
}

Mengkompil Modul

Anda mengkompil menggunakan pilihan yang khusus untuk modul. Pilihan --module-source-path dan -d memberitahu pengkompil tempat sumber dan keluaran berada.

  • javac -d out --module-source-path src $(find src -name '*.java')
  • java --module-path out --module com.example.app/com.example.app.Main

Laluan Modul

Modul diselesaikan daripada laluan modul (--module-path), iaitu pengganti modular kepada laluan kelas. Pelancar membaca deskriptor setiap modul untuk membina graf kebergantungan sebelum menjalankan program.

Semakan Ringkas

Ingat semula keterlihatan lalai pakej.

Imbas Kembali

Anda telah mempelajari asas module-info.java:

  • Satu deskriptor bagi setiap modul pada akar sumber
  • requires mengisytiharkan kebergantungan; java.base adalah tersirat
  • exports mendedahkan sesuatu pakej; semua yang lain dikapsulkan
  • Dibina dan dijalankan dengan --module-path dan --module

Seterusnya: arahan keperluan dan eksport secara mendalam.

Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
104
Pelajaran
374

Soalan Lazim

Adakah pelajaran “module-info.java” percuma?

Ya — teks penuh “module-info.java” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “module-info.java”?

Isytiharkan modul Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Java Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “module-info.java” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. module-info.java
  2. requires dan exports
  3. Perkhidmatan dengan provides/uses
  4. Berpindah kepada Modul
← Kembali ke Java Academy