Deskripsi Singkat:
Karena saya telah menemukan banyak kelas yang membutuhkan refleksi baru -baru ini, dan ada banyak kelas internal di antara mereka. Di sini saya akan merangkum aturan nama kelas internal yang memenuhi syarat.
Kelas internal anggota
Hasil pengujian menunjukkan bahwa terlepas dari apakah kelas internal di dalam anggota statis atau tidak, nama yang sepenuhnya memenuhi syarat digunakan dengan metode penamaan berikut:
Nama paket. Nama kelas eksternal $ Nama kelas internal
Kode Uji:
Paket com.test; kelas publik InnerClasstest {static class staticinner {} class inner {} public static void main (string [] args) {staticinner si = staticinner baru (); bagian dalam = new Innerclasstest (). Inner (); System.out.println (si.getClass ()); System.out.println (in.getClass ());}}Hasil Cetak:
classcom.test.innerclasstest $ staticinner
classcom.test.innerclasstest $ dalam
Kelas internal anonim
Nama -nama kelas internal anonim yang memenuhi syarat memenuhi aturan berikut:
Nama paket. Integer positif dimulai dengan nama kelas eksternal $ 1 - diatur dalam urutan pemuatan kelas
Kode uji
package com.test;public class InnerClassTest {static Object staticAnClass = new Object(){};static Object staticBlockAnClass;static {staticBlockAnClass = new Object(){};}Object anClass = new Object(){};Object blockAnClass;{blockAnClass = new Object(){};}public static void main(String[] args) {innerclasstest functionClass = new innerclasstest () {}; System.out.println (staticanclass.getClass ()); System.out.println (staticblockanclass.getClass ()); testclasstest test = baru Innerclasstest (); System.out.println (test.anclass.getClass ()); System.out.println (test.blockanclass.getClass ()); System.out.println (functionClass.getClass ());}} Hasil Cetak:
kelas com.test.innerclasstest $ 1
kelas com.test.innerclasstest $ 2
kelas com.test.innerclasstest $ 3
kelas com.test.innerclasstest $ 4
kelas com.test.innerclasstest $ 5
Kelas internal lokal
Nama -nama kelas internal lokal yang sepenuhnya memenuhi syarat digunakan sebagai berikut:
Nama paket. Nama kelas eksternal $ diikuti oleh bilangan bulat positif yang dimulai dengan 1 diikuti oleh nama kelas lokal - di mana bagian numerik adalah urutan di mana kelas lokal muncul dalam konteks kelas eksternal
Kode uji
Paket com.test; kelas publik Innerclasstest {public static void main (string [] args) {function (); functionB ();} public static void functionA () {class inner {}; System.out.println (new inner (). getClass ());} public static void functionB () {getClass ());} public static void functionB () {getSclass ());} public void void void publicb () {getSclass (); Dalam (). GetClass ());}} Contoh di atas mencetak hasilnya:
classcom.test.innerclasstest $ 1Inner
classcom.test.innerclasstest $ 2Inner
Berdasarkan kode uji, hasilnya setelah bertukar posisi functiona dan b di Main:
classcom.test.innerclasstest $ 2Inner
classcom.test.innerclasstest $ 1Inner
Hasil pertukaran lokasi Deklarasi FunctionA dan B berdasarkan kode uji:
classcom.test.innerclasstest $ 2Inner
classcom.test.innerclasstest $ 1Inner
Meringkaskan
Di atas adalah seluruh konten artikel ini tentang contoh kode aturan nama yang sepenuhnya memenuhi syarat dari kelas internal Java. 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!