Интересует такой вопрос - модификатор доступа protected - что он делает ??? От каких классов он закрывает свой метод/поле/конструктор ?? И те же вопросы к модификатору доступа по умолчанию. Никак не могу понять.
Вот у меня есть 2 пакета ( MyPackag1 и MyPackag2 ) , в них сделал по два класса :
1) Package1 - пакет MyPackage1
2) Package2 - пакет MyPackage1
3) Package3 - пакет MyPackage2 ( наследуется от MyPackage1.Package1 )
4) Package4 - пакет MyPackage2
Так вот, если объявляю в классе Package1 метод test() с модификатором protected, то он оказывается закрытым для классов Package4 и Package4. Но если не писать никакого модификатора ( т.е. доступ по умолчанию ), то этот метод также не виден для классов Package3 и Package4. При этом метод test() доступен для других классов своего пакета ( подклассов и не подклассов ) и когда он protected, и когда он пустой ( ну в смысле доступ по умолчанию ). Добавлено спустя 6 минут, 44 секунды Да забыл добавить что этот пример из книги, и там написано что если этот метод test() объявлен как protected(), то он будет виден из класса Package3() ( который наследуется от MyPackage1.Package1 ), но не виден для класса Package4.
В книге используется как я понял java версии 1.4, у меня 1.6.
Он делает указанное поле/метод класса доступным только для наследников
в любых пакетах ?
а доступ по умолчанию открывает доступ для любого класса ( наследника или нет ) только своего пакета да ? Добавлено спустя 11 минут, 47 секунд В общем так или нет :
protected - доступ всем подклассам а также всем неподклассам в том же пакете
доступ по умолчанию - доступ любым классам своего пакета
Member
Статус: Не в сети Регистрация: 10.03.2004 Откуда: Минск
Primax public - доступ всем
protected - для всех классов из текущего пакета и для абсолютно всех наследников, в независимости от их места нахождения
private - только из текущего класса
по умолчанию - для всех классов из текущего пакета
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения