Kelas kelas adalah implementasi yang mendefinisikan kelas tertentu dalam bahasa Java. Definisi kelas mencakup variabel anggota, metode anggota, antarmuka yang diimplementasikan oleh kelas ini, dan kelas induk dari kelas ini. Objek kelas kelas digunakan untuk mewakili kelas dan antarmuka dalam aplikasi Java yang sedang berjalan. Misalnya: Setiap array milik objek kelas kelas, dan semua array dengan jenis elemen yang sama dan dimensi berbagi objek kelas. Jenis Java Dasar (boolean, byte, char, pendek, int, panjang, float dan ganda) dan jenis kekosongan juga dapat direpresentasikan sebagai objek kelas.
Contoh berikut menggunakan objek kelas untuk menampilkan nama kelas suatu objek:
void printClassName (objek obj) {System.out.println ("Kelas" + obj + "adalah" + obj.getClass (). getName ()); }Kita semua tahu bahwa semua kelas Java mewarisi kelas objek. Ada metode di kelas objek: getClass (). Metode ini digunakan untuk mendapatkan referensi ke kelas objek yang telah dipakai. Referensi ini menunjuk pada objek kelas kelas (hehe, agak canggung). Kami tidak dapat menghasilkan objek kelas (konstruktor pribadi), dan objek kelas kelas ini secara otomatis dibuat oleh mesin virtual Java ketika berbagai kelas dipanggil, atau dihasilkan oleh metode Defineclass di class loader. Objek yang kami hasilkan akan memiliki bidang untuk merekam lokasi objek kelas kelas. Seperti yang ditunjukkan pada gambar di bawah ini:
Kami dapat memperlakukan setiap objek kelas sebagai proxy untuk banyak kelas. Selain itu, di setiap objek kelas, akan ada loader kelas yang merekam kelas yang dirujuknya. Jika bidang ini nol, itu berarti bahwa pemuat kelas adalah bootstrap loader. Untuk alasan spesifik, lihat artikel "ClassLoader Working Mechanism" yang saya bagikan sebelumnya.
Kami tahu bahwa ada beberapa loader di Java, dan setiap loader dapat memuat beberapa kelas, jadi selama Anda mendapatkan objek kelas kelas, Anda dapat menggunakan metode getClassLoader () untuk mendapatkan referensi ke class loader.
JVM adalah objek kelas yang unik untuk setiap jenis manajer. Oleh karena itu, kita dapat menggunakan operator biequal untuk membandingkan objek: a1.getClass () == a.class; Yang harus dikembalikan adalah benar.
FORNAME (String className) dan forname (StringClassName, { *} boolean initialze, *classloader *loader) *Metode.
Metode ini mengembalikan objek kelas yang sesuai dengan nama string yang diberikan. Mengingat nama path penuh dari kelas atau antarmuka, metode ini mencoba untuk menemukan, memuat, dan menghubungkan kelas. Jika berhasil, kembalikan objek kelas ini. Kalau tidak, lempar pengecualian ClassNotFoundException. Misalnya, cuplikan kode berikut mengembalikan deskriptor kelas yang sedang berjalan bernama java.lang.thread. Classst = class.forname ("java.lang.thread"); Metode ini membutuhkan penentu loader kelas. Saat menggunakan metode gabungan dengan hanya satu parameter string, objek kelas akan memanggil loader kelas saat ini secara default sebagai pemuat dan mengatur parameter kedua ke true. Deskripsi Parameter Kedua: Jika Salah, Memanggil Metode Gabungan Hanya Memuat Kelas di Loader Kelas Perintah, dan tidak menginisialisasi blok statis kelas. Blok statis hanya dipanggil ketika kelas dipakai untuk pertama kalinya. Saat benar, blok statis dipanggil saat memuat.
getClassLoader ()
Dapatkan loader kelas untuk kelas ini.
getComponentType ()
Jika kelas saat ini mewakili array, ia mengembalikan objek kelas yang mewakili komponen array, jika tidak ia mengembalikan nol.
getConstructor (class [])
Mengembalikan objek anak konstruktor publik yang ditentukan dari kelas yang diwakili oleh objek kelas saat ini.
getConstructors ()
Mengembalikan array dari semua subobject konstruktor publik dari kelas yang diwakili oleh objek kelas saat ini.
getDeclaredConstructor (class [])
Mengembalikan subobject konstruktor yang ditentukan oleh kelas yang diwakili oleh objek kelas saat ini.
getDeclaredConstructors ()
Mengembalikan array dari semua subobject konstruktor yang dinyatakan dari kelas yang diwakili oleh objek kelas saat ini.
getDeclaredfield (string)
Mengembalikan objek domain yang telah ditentukan untuk kelas atau antarmuka yang diwakili oleh objek kelas saat ini.
getDecledFields ()
Mengembalikan array dari semua objek domain yang dinyatakan untuk kelas atau antarmuka yang diwakili oleh objek kelas saat ini.
getDeclaredMethod (string, class [])
Mengembalikan objek metode yang telah ditentukan untuk kelas yang ditentukan atau antarmuka yang diwakili oleh objek kelas saat ini.
getDeclaredMethods ()
Mengembalikan array dari semua metode yang dinyatakan untuk kelas atau antarmuka yang diwakili oleh objek kelas.
getfield (string)
Mengembalikan objek domain anggota publik yang ditentukan dari kelas atau antarmuka yang diwakili oleh objek kelas saat ini.
getFields ()
Mengembalikan berbagai objek domain publik yang dapat diakses untuk kelas atau antarmuka yang diwakili oleh objek kelas saat ini.
getInterfaces ()
Mengembalikan antarmuka yang diterapkan oleh kelas yang diwakili oleh objek saat ini atau antarmuka.
getMethod (string, class [])
Mengembalikan objek metode anggota publik yang ditentukan dari kelas atau antarmuka yang diwakili oleh objek kelas saat ini.
getMethods ()
Mengembalikan array dari semua objek metode anggota publik untuk kelas atau antarmuka yang diwakili oleh objek kelas saat ini, termasuk dinyatakan dan diwarisi dari kelas induk.
getModifiers ()
Mengembalikan kode pengubah bahasa Java untuk kelas atau antarmuka.
getName ()
Mengembalikan string nama jalur lengkap dari tipe (kelas, antarmuka, array, atau tipe dasar) yang diwakili oleh objek kelas.
getResource (string)
Temukan sumber daya dengan nama tertentu.
getResourCeasStream (string)
Temukan sumber daya dengan nama yang diberikan.
getligners ()
Dapatkan tag kelas.
getSuperclass ()
Jika objek ini mewakili kelas apa pun kecuali objek, maka objek kelas induk dari objek ini dikembalikan.
isArray ()
Kembalikan true jika objek kelas mewakili array, sebaliknya mengembalikan false.
terissignable dari (kelas)
Menentukan apakah kelas atau antarmuka yang diwakili oleh objek kelas sama dengan kelas atau antarmuka yang diwakili oleh kelas yang ditentukan oleh parameter, atau kelas induknya.
isInstance (objek)
Metode ini adalah metode setara dinamis misalnya operasi dalam bahasa Java.
isInterface ()
Menentukan apakah objek kelas yang ditentukan mewakili tipe antarmuka.
isPrimitive ()
Menentukan apakah objek kelas yang ditentukan mewakili tipe dasar Java.
newinstance ()
Buat instance baru dari kelas.
tostring ()
Mengubah objek menjadi string.
Meringkaskan
Di atas adalah seluruh konten artikel ini tentang membahas secara singkat kelas kelas di Java, dan saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!