Java Модификатор доступа protected
В java новичек. Не понимаю как работает модификатор доступа protected. На каждом заборе написано "protected: такой класс или член класса доступен из любого места в текущем классе или пакете или в производных классах, даже если они находятся в других пакетах". В данном примере класс Prot находится в одном Package с Main. То есть Main должен иметь доступ к Prot. Но это не работает. Выскакивает ошибка "modifier protected not allowed here"
Package Test.com
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Prot ppp = new Prot();
System.out.println("Вы ввели: " + ppp.prt());
}
}
protected class Prot{
String prt(){
Scanner scan = new Scanner(System.in);
String vvod = scan.nextLine();
return vvod;
}
}
Ответы (3 шт):
Only public,private and final allowed for class. Protected только для, конструкторов, методов и членов.
Здравствуй, я так же начинающий джавист. Как я понял модификатором protected помечаются только методы и переменные класса, а не сам класс. Эти методы и переменные видны всем классам в пределах пакета.
Не совсем protected поля и методы видны только внутри самого класса (включая inherited классы) и в наследниках.
для package only видимости просто не ставьте модификатор видимости.