Dalam ayat mudah, ia adalah butiran pelindung cangkerang.
Sebagai contoh, telefon bimbit mengandungi bateri, cip, papan induk, kamera, skrin dan komponen elektronik lain.
Bagi pengguna kami, cukup untuk menghidupkan dan mematikan telefon, melaraskan kelantangan, dan membuat serta menerima panggilan
Tidak perlu mempertimbangkan pendawaian dalaman dan komponen elektronik tidak kira apa modelnya.
Jadi pengeluar telefon mudah alih akan menggunakan selongsong untuk membungkus peranti elektronik di dalamnya untuk menjadikannya lebih mudah untuk pengguna. Ini adalah idea
dan salah satu ciri berorientasikan objek teras kami serupa.
Secara lebih formal: gabungkan data dan kaedah pengendalian data secara organik, sembunyikan sifat dan butiran pelaksanaan objek, dan hanya dedahkan antara muka untuk berinteraksi dengan objek
Menurut saya Pemahaman popular ialah, sebagai contoh, berkomunikasi dengan seseorang Saya tidak peduli tentang cara mereka mengeluarkan bunyi. Saya hanya perlu mendengar apa yang mereka katakan. 🎜>Memandangkan enkapsulasi dalam Java hanya meninggalkan antara muka untuk berinteraksi dengan objek, maka bagaimana untuk melaksanakan antara muka ini dan mengawal serta menyembunyikan butiran di dalam, ini memerlukan pengubah akses
kelas boleh menggabungkan data dan kaedah merangkum data,
dan kebenaran akses digunakan untuk mengawal Bolehkah kaedah atau medan digunakan terus di luar kelas
Julat |
peribadi peribadi |
|
dilindungiDiwarisi | awam Awam | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Kelas yang sama dalam pakej yang sama | ✓ | ✓✓ | ✓ | ||||||||||||||||||||||||||
Kelas yang berbeza dalam pakej yang sama | ✓ | ✓ | ✓ | ||||||||||||||||||||||||||
Subkelas dalam pakej berbeza | ✓ | ✓ | |||||||||||||||||||||||||||
Bukan subkelas dalam pakej berbeza | ✓ |
???? (Awam) awam: Ahli, kaedah atau kelas yang diubah suai boleh diakses di mana-mana sahaja.
???? (diwarisi) dilindungi: lihat bahagian belakang,
???? (lalai) lalai: akses dalam pakej yang sama
???? Private) private: hanya boleh diakses dalam kelas semasa
public class TestDemo01 { int year; //默认权限,可以省略default private int month; //私有权限,只能在同一个类中访问 public int day; //公有权限,那里都能访问 }
Tunjukkan di bawah
Dalam TestDemo01 kelas pertama
Dalam kedua classes TestDemo02
kami mendapati bulan itu tidak dapat ditemui Ini kerana kami menulis kebenaran aksesnya sebagai peribadi dan menjadikannya peribadi. Ini adalah pelaksanaan enkapsulasi, bulan hanya boleh digunakan dalam TestDemo01.
Kami melaksanakan enkapsulasi untuk meninggalkan antara muka sahaja dan tidak menunjukkan butiran
Mari tunjukkan antara muka yang dikapsulkan
Jika Ia. dikatakan bahawa ramai ahli adalah peribadi. Kami tidak perlu menulis dua antara muka ini satu persatu. Kami boleh menggunakan fungsi idea untuk menulisnya dengan cepat . Fahami keperluan untuk enkapsulasi Anda perlu tahu - pakej
3.1 Fahami konsep pakej
Kewujudan pakej adalah untuk mengurus kelas dengan lebih baik, mengumpul berbilang kelas bersama-sama ke dalam kumpulan, mengumpulkannya dan jadikan direktori serupaPakej ialah penjelmaan mekanisme enkapsulasi untuk kelas, antara muka, dsb., dan merupakan cara yang baik untuk mengatur kelas atau antara muka Pakej juga mempunyai yang sangat penting peranan kerana ia boleh digunakan dalam projek yang sama Kelas dengan nama yang sama dibenarkan dalam , selagi ia berada dalam pakej yang berbeza.3.2 Mengimport kelas dalam pakej
Bagaimana untuk menyelesaikan masalah ini, anda perlu menentukan pakej tertentu
package com.toabao.www; import java.util.*; import java.sql.*; public class TestDemo03 { public static void main(String[] args) { int[] array = {1,2,3,4,5}; System.out.println(Arrays.toString(array)); java.util.Date date = new java.util.Date(); java.sql.Date date1 = new java.sql.Date(12); } }
Gunakan statik import untuk mengimport kaedah dan medan statik dalam pakej
import static java.lang.Math.*; public class TestDemo01 { public static void main(String[] args) { double x = 13; double y = 14; double result = sqrt(pow(x,2)+pow(y,2)); } }
Nota:
1. Selepas pakej dibuat , dalam fail, mesti ada pernyataan pakej di bahagian atas untuk menunjukkan pakej mana fail tersebut (idea akan menambahkannya secara automatik)
2. Penamaan pakej biasanya misalnya, ia adalah nama terbalik nama domain
3.
Kawalan kebenaran akses pakej 3.4
Kelas yang sama dalam pakej yang sama
package Demo01; public class Test01 { int count = 10; public void func(){ System.out.println(count); } }
Dalam pakej yang berbeza Hak akses subkelas
di hadapan kiraan adalah lalai, iaitu subkelas dan bukan subkelas dalam pakej yang berbeza tidak boleh diakses
Jika anda mesti mengakses, anda boleh menukar kebenaran akses kepada umum,
3.5 Pakej biasa dalam java
1. java.lang: Kelas asas yang biasa digunakan dalam sistem (String, Object), anda tidak perlu menulisnya selepas JDK1.1, ia akan menjadi diimport secara automatik,
2. java.lang.reflect: pakej pengaturcaraan refleksi java 3 : Pakej sokongan untuk pembangunan pangkalan data5. java.util: Pakej alat yang disediakan oleh java6Atas ialah kandungan terperinci Bagaimana untuk melaksanakan enkapsulasi berorientasikan objek di Jawa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!