1. Public — klass o‘zgaruvchi va metodlariga, o‘zining klasslari, shu paketdagi boshqa klasslar(albatta main orqali ham) va tashqari (boshqa paket)dan murojaat qilish mumkin.
2. Protected — klass o‘zgaruvchi va metodlariga o‘zining klasslari, shu paketdagi boshqa klasslar orqali murojaat qilish mumkin, lekin boshqa paketdan turib bularni ishlatib bo‘lmaydi.
3. Private — klass o‘zgaruvchi va metodlariga faqat o‘zining klassi orqali murojaat qilish mumkin, ob’yekt orqali bu o‘zgaruvchi va metodlarni chaqirib ishlatib bo‘lmaydi.
YUqoridagi misolni, «private» ruxsati bilan ishlatib ko‘ramiz, ya’ni misolni quyidagicha o‘zgartiramiz.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package misol;
class son
{
int var1=10;
private int sum(int var2)
{
return var1*var2;
}
}
public class Misol {
public static void main(String[] args) {
son mm = new son();
System.out.println(mm.sum(5));
}
}
Bu dasturni ishlatsangiz, xatolik haqida ma’lumot olasiz. Chunki, «sum» metodi «private» ruxsati bilan e’lon qilingan, ya’ni faqat o‘zining klassi ichida ishlatish mumkin. main() metodi ham bu metodni ishlata olmaydi, ruhsat yo‘q. Eng to‘g‘risi, bu misolni quyidagicha o‘zgartirish lozim.
1
2
3
4
5
6
7
8
9
10
11
12
package misol;
class son
{
private int var1=10;
protected int sum(int var2)
{ return var1*var2;
}}
public class Misol {
public static void main(String[] args) {
son mm = new son();
System.out.println(mm.sum(5));
}}
Klass o‘zgaruvchisi, faqat o‘z klassida ishlatilganligi sababli, u «private» ruxsati bilan e’lon qilindi, «sum» metodi esa main() metodida chaqirilganligi sababli, «protected» ruxsati bilan e’lon qilindi, ya’ni boshqa paketlar bu metodni ishlataolmaydi.
Agar siz klass ichidagi «var1» o‘zgaruvchisini o‘zgartirmoqchi bo‘lsangiz, bu o‘zgaruvchini «protected» ruxsati bilan e’lon qilishingiz lozim bo‘ladi.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package misol;
class son
{
protected int var1=10;
protected int sum(int var2)
{ return var1*var2;
}}
public class Misol {
public static void main(String[] args) {
son mm = new son();
mm.var1=20;
System.out.println(mm.sum(5));
}}
13-qatorda «son» nomli klassdagi, «var1» o‘zgaruvchi o‘zgartirildi va «sum» metodi chaqirilganda(14-qator), «var1» o‘zgaruvchisi yangi qiymatni ishlatdi.
Endi, «public» ruxsatini misol orqali ko‘rsatib o‘taman. Uning uchun bizga 2 ta paket kerak bo‘ladi. Bu orqali, paketlar o‘rtasida «public» ruxsati bilan o‘zgaruvchi almashinishini ko‘rsataman.
Dastlab yangi proyekt hosil qilamiz: Файл ->Создатьпроект.