Java/Видимость: различия между версиями

Содержимое удалено Содержимое добавлено
м <source> -> <syntaxhighlight> (phab:T237267)
Строка 8:
Пример определения публичных элементов:
 
<sourcesyntaxhighlight lang="java">
class A {
public int m;
Строка 15:
public static String name = "Test";
}
</syntaxhighlight>
</source>
 
Теперь посмотрим как этим пользуются:
 
<sourcesyntaxhighlight lang="java">
class B {
void someFunction(){
Строка 29:
}
}
</syntaxhighlight>
</source>
 
== protected ==
Строка 35:
Доступен внутри пакета и своим подклассам из других пакетов.
 
<sourcesyntaxhighlight lang="java">
class A {
protected int x;
Строка 61:
}
}
</syntaxhighlight>
</source>
 
== ''package-private'' ==
 
Доступен в пределах своего пакета <code>package</code>. Присваивается автоматически, если не указан модификатор доступа.
<sourcesyntaxhighlight lang="java">
class A { //Этот класс виден только в пакете, в котором находится сам
int x; //Члены класса видны для всех классов данного пакета
}
</syntaxhighlight>
</source>
 
== private ==
Строка 76:
Доступен только внутри своего класса.
 
<sourcesyntaxhighlight lang="java" line=1>
class A {
private int x; //переменную x видно исключительно внутри класса A
Строка 94:
}
}
</syntaxhighlight>
</source>
 
<code>setX</code> и <code>getX</code> - являются функциями доступа к приватной переменной. Если мы решим, что переменная <code>x</code> может содержать исключительно числа от 1 до 100, то нам не понадобится искать все обращения к <code>x</code> по всем классам, а просто добавить проверку между строками {{N|4}} и {{N|5}}.