Protection
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Protection - 2011-11-30 01:32:41.426666
|
|
|
kenny_CK
Сообщений: 5
Оценки: 0
Присоединился: 2011-11-11 00:21:29.553333
|
Ниже приведен пример, в котором представлены все допустимые комбинации модификаторов уровня доступа. Но при выполнении ругается - отсутствует главный метод класса, а также указывает на - private protected int n_pripro = 4; пишет "illegal combination of modifiers: private and protected". Оболчка NetBeans. В чем проблема? package mypackage; public class Protection { int n = 1; private int n_pri = 2; protected int n_pro = 3; private protected int n_pripro = 4; public int n_pub = 5; public Protection() { System.out.println("base constructor"); System.out.println("n = " + n); System.out.println("n_pri = " + n_pri); System.out.println("n_pro = " + n_pro); System.out.println("n_pripro = " + n_pripro); System.out.println("n_pub = " + n_pub); } } class Derived extends Protection { Derived() { System.out.println("derived constructor"); System.out.println("n = " + n); // только в классе // System.out.println("n_pri = " + n_pri); System.out.println("n_pro = " + n_pro); System.out.println("n_pripro = " + n_pripro); System.out.println("n_pub = " + n_pub); } } class SamePackage { SamePackage() { Protection p = new Protection(); System.out.println("same package constructor"); System.out.println("n = " + p.n); // только в классе // System.out.println("n_pri = " + p.n_pri); System.out.println("n_pro = " + p.n_pro); // только в классе и подклассе // System.out.println("n_pripro = " + p.n_pripro): System.out.println("n_pub = " + p.n_pub); } }
|
|
|
RE: Protection - 2011-11-30 01:44:37.153333
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
1) Нету у программы точки входа, не знает компилятор, откуда начинать её. public static void main(String[] args) { /*Код, использующий классы*/ } 2) модификатор доступа всегда один - или private, или protected
|
|
|
RE: Protection - 2011-11-30 01:52:32.250000
|
|
|
kenny_CK
Сообщений: 5
Оценки: 0
Присоединился: 2011-11-11 00:21:29.553333
|
уровни доступа: "учебник" если вы хотите, чтобы элемент был доступен только подклассам, причем независимо от того, находятся ли они в данном пакете или нет — используйте комбинацию private protected. В исходном коде первого пакета определяется три класса: Protection, Derived и SamePackage. В первом из этих классов определено пять целых переменных — по одной на каждую из возможных комбинаций уровня доступа. Переменной n приписан уровень доступа по умолчанию, n_pri — уровень private, n_pro — protected, n_pripro — private protected и n_pub — public. Во всех остальных классах мы пытаемся использовать переменные первого класса. Те строки кода, которые из-за ограничения доступа привели бы к ошибкам при трансляции, закомментированы с помощью однострочных комментариев (//) — перед каждой указано, откуда доступ при такой комбинации модификаторов был бы возможен. Второй класс — Derived — является подклассом класса Protection и расположен в том же пакете р1. Поэтому ему доступны все перечисленные переменные за исключением n_pri. Третий класс, SamePackage, расположен в том же пакете, но при этом не является подклассом Protection. По этой причине для него недоступна не только переменная n_pri, но и n_pripro, уровень доступа которой — private protected. *Где должна быть точка входа?
|
|
|
RE: Protection - 2011-11-30 23:20:57.486666
|
|
|
yurket
Сообщений: 69
Оценки: 0
Присоединился: 2009-05-04 23:47:54.993333
|
первый раз вижу комбинированный модификатор)) netbeans, похоже, тоже) попробуй без private все-таки) и как правильно сказал Genco, должна быть точка входа, она же функция main()… т.е. где-то должен быть код типа этого public static void main(String[] args)
{
Protection pr = new Protection();
Derived drv = new Derived();
// и т.д.
}
|
|
|
RE: Protection - 2011-12-01 02:36:33.390000
|
|
|
Genco
Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
|
http://www.math.rsu.ru/mexmat/pmp/student/book/Chapter05.html http://www.intelserv.ru/bookinfo-nouton-p-shildt-g/nouton-p-shildt-g-java-2-naibolee-polnoe-rukovodstvo-razdel-2.html?start=20 Ну вот 2 случайные ссылки на случай, если я не только не знаю яву, но и неправильно о ней догадываюсь. Очепятка в "учебнике", protected ставь))
|
|
|
RE: Protection - 2011-12-01 12:56:40.753333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Кури: http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
|
|
|
|
|