2015-03-20 3 views
0

Я думаю, что я заметил противоречие в ява официальной документации здесь: http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.htmlКонтроль доступа из Java подкласса

С одной стороны, он говорит:

"Если подкласс находится в том же пакете, его родительский элемент, он также наследует пакеты-частные члены родителя. "

, после чего, он говорит:

подкласс не наследует частные члены родительского класса.

Не противоречивые заявления? Я бы подумал, что второе утверждение верно. Доступ к закрытым полям возможен только внутри класса, который он определяет (если мы не определили частные или защищенные аксессоры доступа в этом классе). Спасибо.

+0

'пакет private'! =' Private'. –

ответ

1

package-private отличается от частного, хотя имя «частный» находится в обоих.

package-private, когда у вас нет каких-либо спецификатор на элементе

public class Bar{ 
    public int foo; // public 
    int foo1; // package private 
    private int foo2; //private 
} 
+0

Теперь я понимаю. Раньше я не слышал термин «частный пакет». Я привык к терминам «по умолчанию» (без квалификатора доступа). Теперь это имеет смысл. Подумайте об этом, имя находится на месте: модификатор по умолчанию позволяет объявлять как таковое видимым только внутри одного и того же пакета. Спасибо! – Samy

Смежные вопросы