Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM · Pelajaran

Memanggil Java daripada Clojure

Temui cara memanggil kaedah Java, mencapai medan dan mencipta tika objek secara langsung daripada kod Clojure

Pelajaran 1 daripada 411 langkah

Memanggil Java daripada Clojure ialah pelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM 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 Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM merangkumi sejumlah 4 pelajaran.

Clojure & Java: Sahabat Baik!

Clojure berjalan pada Mesin Maya Java (JVM), yang bermakna ia boleh menggunakan semua pustaka Java yang hebat secara terus! Ini dipanggil Kesalingoperasian Java.

  • Mengakses kelas dan kaedah Java.
  • Memanfaatkan ekosistem Java yang luas.
  • Menggabungkan kuasa Clojure dengan kestabilan Java.

Pelajaran ini akan menunjukkan cara memanggil kod Java daripada Clojure.

Mencipta Objek Java

Untuk menggunakan kelas Java, anda selalunya perlu mencipta satu kejadian daripadanya. Dalam Clojure, anda boleh melakukannya menggunakan sintaks khas.

  • Gunakan (new ClassName args) atau bentuk ringkas (ClassName. args).
  • . selepas nama kelas ialah cara mudah untuk memanggil pembina.

Contoh: (java.util.Date.) mencipta objek Date baharu.

Demo: Objek Date Baharu

Cuba cipta objek java.util.Date baharu. Objek ini akan mewakili tarikh dan masa semasa.

(ns my-app.core
  (:gen-class))

(defn -main
  "Creates and prints a new Java Date object."
  [& args]
  (let [current-date (java.util.Date.)]
    (println "Current date:" current-date)))

Memanggil Kaedah Java Statik

Kaedah statik dimiliki oleh kelas itu sendiri, bukan oleh kejadian objek tertentu. Anda boleh memanggilnya terus pada kelas tersebut.

  • Sintaks: (ClassName/staticMethodName args)
  • / memisahkan nama kelas daripada nama kaedah statik.

Contoh: (java.lang.Math/random) memanggil kaedah statik random daripada kelas Math.

Demo: Math.random()

Mari dapatkan nombor rawak menggunakan kaedah statik Math/random Java. Kaedah ini mengembalikan double antara 0.0 (termasuk) dan 1.0 (tidak termasuk).

(ns my-app.core
  (:gen-class))

(defn -main
  "Generates and prints a random number using Java's Math/random."
  [& args]
  (let [rand-num (java.lang.Math/random)]
    (println "Random number:" rand-num)))

Memanggil Kaedah Java Contoh

Setelah mempunyai objek, anda boleh memanggil kaedah contohnya. Kaedah ini beroperasi pada data objek tertentu tersebut.

  • Sintaks: (.methodName instance args) atau (. instance methodName args).
  • . sebelum nama kaedah menunjukkan panggilan kaedah contoh.

Contoh: (.getTime my-date) memanggil kaedah getTime pada objek my-date.

Demo: Date.getTime()

Cipta objek Date, kemudian panggil kaedah getTime()nya. Kaedah ini mengembalikan bilangan milisaat sejak 1 Januari 1970, 00:00:00 GMT.

(ns my-app.core
  (:gen-class))

(defn -main
  "Creates a Date object and calls its getTime() method."
  [& args]
  (let [current-date (java.util.Date.)
        time-in-millis (.getTime current-date)]
    (println "Current date:" current-date)
    (println "Milliseconds since epoch:" time-in-millis)))

Mengakses Medan Java

Objek Java boleh mempunyai medan (pemboleh ubah) yang menyimpan data. Anda boleh mengakses medan ini secara langsung daripada Clojure.

  • Sintaks: (.-fieldName instance) untuk mendapatkan nilai medan.
  • Untuk medan statik, gunakan (.-staticFieldName ClassName).

Contoh: (.-out System) mengakses medan statik out bagi kelas System, yang merupakan PrintStream.

Demo: Medan System.out

Kelas java.lang.System mempunyai medan statik bernama out, yang merupakan objek PrintStream. Kita boleh mengaksesnya untuk mencetak pada konsol.

(ns my-app.core
  (:gen-class))

(defn -main
  "Accesses System.out and prints a message using its println method."
  [& args]
  (let [out-stream (.-out java.lang.System)]
    (.println out-stream "Hello from System.out!")))

Semakan Pantas: Saling Kendali Java

Anda telah mempelajari cara berinteraksi dengan kelas Java. Ungkapan Clojure manakah yang menggunakan singkatan ClassName. untuk mencipta objek java.io.File bagi laluan "myfile.txt"?

Imbas Kembali: Asas Saling Kendali Java

Syabas! Anda telah mempelajari asas berinteraksi dengan Java daripada Clojure:

  • Cipta objek: Gunakan (ClassName. args) atau (new ClassName args).
  • Panggil kaedah statik: Gunakan (ClassName/staticMethodName args).
  • Panggil kaedah contoh: Gunakan (.methodName instance args) atau (. instance methodName args).
  • Akses medan: Gunakan (.-fieldName instance).

Keupayaan berkuasa ini membolehkan anda memanfaatkan keseluruhan ekosistem Java dalam projek Clojure anda. Seterusnya, kita akan meneroka pelaksanaan antara muka Java.

Percuma untuk bermula

Pelajari Clojure 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
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Memanggil Java daripada Clojure” percuma?

Ya — teks penuh “Memanggil Java daripada Clojure” 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 Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM, tingkat taraf kepada CoddyKit PRO. Kursus Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Memanggil Java daripada Clojure”?

Temui cara memanggil kaedah Java, mencapai medan dan mencipta tika objek secara langsung daripada kod Clojure Anda berlatih Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM 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 Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM 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 “Memanggil Java daripada Clojure” 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 Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM ini?

Ya. Setiap pelajaran Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM 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. Memanggil Java daripada Clojure
  2. Melaksanakan Antara Muka Java
  3. Memanfaatkan Pustaka dan Alat Java
  4. Bekerja dengan Koleksi dan Tatasusunan Java
← Kembali ke Pengaturcaraan Fungsian Clojure dan Pembangunan Bahagian Belakang JVM