보호됨 액세스 지정자는 동일한 패키지 내에서 볼 수 있습니다. 하위 클래스에서도 볼 수 있음 반면 기본값 패키지 수준 액세스 지정입니다. r 및 동일한 패키지에서 볼 수 있습니다.
보호된 액세스 지정자
- 보호됨 동일한 패키지 내에서 공개로 작동하고 패키지 외부에서 비공개로 작동합니다.
- 보호됨 또한 하위 클래스 개체에 대해서만 패키지 외부에서 public으로 작동합니다.
- 보호됨 필드나 메서드는 클래스 및 인터페이스에 사용할 수 없습니다.
- 보호됨 으로 선언된 필드, 메서드 및 생성자 다른 패키지의 하위 클래스에서만 수퍼 클래스에 액세스할 수 있습니다.
- 동일한 패키지의 클래스는 보호된 에도 액세스할 수 있습니다. 보호된 의 하위 클래스가 아닌 경우에도 필드, 메서드 및 생성자 회원 클래스.
예
public class ProtectedTest { // variables that are protected protected int age = 30; protected String name = "Adithya"; /** * This method is declared as protected. */ protected String getInfo() { return name +" is "+ age +" years old."; } public static void main(String[] args) { System.out.println(new ProtectedTest().getInfo()); } }
출력
Adithya is 30 years old.
기본 액세스 지정자
- 액세스 지정자 없이 언급된 클래스의 모든 구성원 그러면 기본값으로 간주됩니다. .
- D 결함 동일한 패키지 내에서 공개로 작동하고 패키지 외부에서 비공개로 작동합니다.
- 기본값 모든 클래스의 멤버는 동일한 패키지 내의 모든 항목에서 사용할 수 있으며 어떤 조건에서도 패키지 외부에서 사용할 수 없습니다.
- 기본값 패키지 수준으로만 액세스를 제한합니다. , 기본 데이터 멤버가 있는 클래스를 확장한 후에도 액세스할 수 없습니다.
예
public class DefaultTest { // variables that have no access modifier int age = 25; String name = "Jai"; /** * This method is declared with default aacees specifier */ String getInfo() { return name +" is "+ age +" years old."; } public static void main(String[] args) { System.out.println(new DefaultTest().getInfo()); } }
출력
Jai is 25 years old.