1. Tipe dasar hanya dapat diteruskan berdasarkan nilai, sedangkan kelas enkapsulasi yang sesuai dengan setiap jenis dasar dilewatkan dengan referensi.
2. Dari perspektif kinerja, tipe dasar di Java dibuat pada tumpukan, dan semua jenis objek dibuat pada heap (referensi objek dibuat pada tumpukan). Misalnya
Integer i = bilangan bulat baru (10); di mana integer baru () dibuat di tumpukan, dan integer referensi I ada di tumpukan. Munculnya kelas enkapsulasi adalah untuk lebih mudah menggunakan beberapa metode yang tidak tersedia dalam tipe dasar, seperti nilai (), tostring (), dll. Juga, jika Anda ingin meneruskan referensi ke objek int alih -alih nilai, Anda hanya dapat menggunakan kelas enkapsulasi.
Efisiensi panggilan mengalokasikan memori pada tumpukan jauh berbeda dari efisiensi mengalokasikan memori pada tumpukan. Meskipun mengalokasikan memori pada tumpukan efisien, ada kebocoran memori dalam mengalokasikan memori pada tumpukan. (Ini adalah masalah yang tidak dapat dipecahkan oleh programmer biasa -biasa saja ...) Java menggunakan metode yang sangat jenius untuk meningkatkan efisiensi mengalokasikan memori pada tumpukan. Meskipun demikian, Java masih lambat. Dia tidak mungkin mencapai secepat C ++, meskipun dia telah menjanjikan bahwa satu hari peluang virtual akan secepat kode mesin.
JDK5.0 dapat secara otomatis dienkapsulasi, yaitu, data dasar dapat secara otomatis dienkapsulasi ke dalam kelas enkapsulasi. Keuntungan dari tipe data dasar adalah bahwa mereka cepat (tidak melibatkan konstruksi objek dan daur ulang). Tujuan kelas enkapsulasi terutama untuk menangani konversi data dengan lebih baik. Ada banyak metode dan nyaman digunakan.
Tentu saja, umpan dari jenis enkapsulasi adalah lulus referensi, misalnya
Integer a = bilangan bulat baru (1);
Menunjukkan bahwa referensi tipe integer A mengacu pada sepotong memori, dan data dalam bagian memori ini adalah 1; dan apa yang disimpan dalam A adalah referensi (alamat) dari bagian memori ini. Saat meneruskan A ke metode atau objek lain, referensi a dilewatkan.
Konversi Antara Jenis:
String b = "123456";
int c = integer.parseint (b);
Menunjukkan mengubah string 123456 menjadi nomor integer, di mana parseint adalah metode statis, yang dapat digunakan secara langsung
Poin lain adalah bahwa dalam beberapa kasus, kelas enkapsulasi perlu digunakan, seperti daftar koleksi, yang hanya dapat menambahkan objek, yaitu objek. Maka jelas tidak mungkin untuk secara langsung menyimpan nomor. Anda perlu merangkum angka menjadi objek yang dienkapsulasi dan kemudian menyimpannya dalam daftar, seperti
Daftar Daftar = ArrayList baru ();
list.add (integer baru (1));
list.add (bilangan bulat baru (2));
list.add (bilangan bulat baru (3));
list.add (bilangan bulat baru (4));
Setelah JDK5.0, dapat dikemas secara otomatis, sehingga dapat disingkat sebagai
Daftar Daftar = ArrayList baru ();
list.add (1);
list.add (2);
list.add (3);
list.add (4);
Artikel di atas secara komprehensif memahami perbedaan dan aplikasi tipe dasar Java dan jenis pengemasan. Ini semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.