> Java > java지도 시간 > 본문

Java 기능에 대한 보호된 액세스 수정자 적용

WBOY
풀어 주다: 2024-04-26 08:21:02
원래의
652명이 탐색했습니다.

답변: protected 액세스 한정자는 동일한 패키지의 하위 클래스와 클래스가 멤버에 액세스하는 것을 허용하는 동시에 다른 패키지의 클래스에 대한 액세스를 차단합니다. 자세한 설명: 보호된 멤버는 동일한 패키지의 정의 클래스, 하위 클래스 및 기타 클래스에서 액세스할 수 있습니다. 다른 패키지의 클래스는 보호된 멤버에 액세스할 수 없습니다. 적용 대상: a) 하위 클래스가 상위 클래스 멤버에 액세스하도록 허용합니다. b) 패키지 내 접근은 허용되지만, 패키지 외부 접근은 차단됩니다. 예를 들어, 상위 클래스 Vehicle의 보호된 메소드 getSpeed()는 하위 클래스 Car에서 액세스할 수 있지만 동일한 패키지에 없는 Truck 클래스에서는 액세스할 수 없습니다.

Java 函数的访问权限修饰符之 protected 的应用

Java 함수에 대한 액세스 한정자: protected

Introduction

Java에서 protected는 메서드, 필드 및 구문에 사용되는 액세스 한정자입니다. 함수는 제한된 액세스 수준을 지정합니다. 공개보다 더 제한적이지만 기본보다 액세스가 덜 제한적입니다. protected 是一个访问权限修饰符,用于为方法、字段和构造函数指定受限访问级别。它比 public 更具限制性,但比 default 访问权限更宽松。

语义

  • protected 成员可以在定义它们的类中、子类中和同一包中的其他类中访问。
  • 对于不同的包中的类,protected 成员无法访问。

应用

protected 访问权限修饰符常用于以下情况:

  • 当希望子类能够访问父类中的成员,但阻止其他类访问时。
  • 当希望在包中提供对成员的访问,但在包外部防止访问时。

实战案例

考虑一个父类 Vehicle,它有一个 protected 方法 getSpeed()

public abstract class Vehicle {
    protected int speed;

    public void getSpeed() {
        // ...
    }
}
로그인 후 복사

Car 类是 Vehicle 的子类,它可以访问 getSpeed() 方法,因为它继承自 Vehicle

public class Car extends Vehicle {
    public void displaySpeed() {
        // 可以访问父类的 protected 方法
        getSpeed();
    }
}
로그인 후 복사

然而,Truck 类与 Vehicle 不在同一个包中,因此它无法访问 getSpeed() 方法。

// Truck 类在一个不同的包中
public class Truck {
    // 无法访问 Vehicle 中的 protected 方法
    // getSpeed();
}
로그인 후 복사

结论

protected

🎜Semantics🎜🎜
  • protected 멤버는 해당 멤버가 정의된 클래스, 하위 클래스 및 동일한 패키지의 다른 클래스에서 액세스할 수 있습니다.
  • 다른 패키지에 있는 클래스의 경우 보호된 멤버에 액세스할 수 없습니다.
🎜🎜Application🎜🎜🎜protected 액세스 권한 수정자는 종종 다음과 같은 상황에서 사용됩니다: 🎜
  • 서브클래스가 다음을 수행할 수 있기를 원할 때 상위 클래스의 멤버에 액세스하지만 다른 클래스의 액세스를 방지하는 경우.
  • 패키지 내 구성원에게 액세스 권한을 제공하고 패키지 외부 액세스를 차단하려는 경우.
🎜🎜실제 사례🎜🎜🎜protected 메소드 getSpeed()가 있는 상위 클래스 Vehicle를 생각해 보세요. . 🎜rrreee🎜 Car 클래스는 Vehicle의 하위 클래스이며 Vehicle에서 상속되기 때문에 <code>getSpeed() 메서드에 액세스할 수 있습니다. 코드>. 🎜rrreee🎜그러나 Truck 클래스는 Vehicle과 동일한 패키지에 있지 않으므로 getSpeed() 메서드에 액세스할 수 없습니다. 🎜rrreee🎜🎜결론🎜🎜🎜protected 액세스 한정자는 클래스 멤버에 대한 액세스를 제한하는 동시에 동일한 패키지의 하위 클래스 및 기타 클래스에 대한 액세스를 허용하는 방법을 제공합니다. 상속 관계로 클래스를 설계하고 특정 패키지의 접근 권한을 제한할 때 유용합니다. 🎜

위 내용은 Java 기능에 대한 보호된 액세스 수정자 적용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿