Java 함수 액세스 수정자와 상속 간의 관계

WBOY
풀어 주다: 2024-04-25 15:24:02
원래의
1084명이 탐색했습니다.

액세스 권한 수정자는 클래스, 메서드 및 필드의 액세스 범위를 결정하고 상속에서 중요한 역할을 합니다. 공개: 모든 클래스 및 하위 클래스에 대한 액세스를 허용합니다. protected: 동일한 패키지에 있는 클래스와 해당 하위 클래스의 액세스를 허용합니다. 기본값: 동일한 패키지 내의 클래스에 대한 액세스를 허용합니다. private: 수정자를 정의하는 클래스 자체에만 액세스할 수 있습니다. 서브클래스는 private 한정자를 사용하여 상위 클래스의 멤버에 액세스할 수 없지만 protected 한정자를 사용하여 상위 클래스 멤버의 값을 변경할 수 있습니다. 액세스 한정자를 지정하지 않으면 멤버는 기본값(패키지 범위)으로 설정됩니다.

Java 函数的访问权限修饰符之与继承的关系

Java 함수 액세스 수정자와 상속의 관계

Java의 액세스 수정자는 클래스, 메소드 및 필드의 액세스 범위를 결정하고 상속에서 중요한 역할을 합니다. 액세스 수정자와 상속 간의 관계는 다음과 같습니다.

  • public:모든 클래스와 하위 클래스에 대한 액세스 권한을 부여합니다.
  • protected:동일한 패키지에 있는 클래스와 해당 하위 클래스에 대한 액세스 권한을 부여합니다.
  • 기본값(패키지 범위):동일 패키지의 클래스에 대한 액세스 권한을 부여합니다.
  • private:이 수정자가 정의된 클래스 자체에만 액세스 권한을 부여합니다.

실제 사례:

부모 클래스Animal과 하위 클래스Dog가 있다고 가정합니다.Animal和一个子类Dog

public class Animal { protected String name; public void eat() { System.out.println("Eating..."); } } public class Dog extends Animal { public void bark() { System.out.println("Barking!"); } }
로그인 후 복사

在上述代码中:

  • Animalname字段使用protected修饰符,因此Dog类可以访问它。
  • Animaleat()方法使用public修饰符,因此Dog类和其他类都可以调用它。
  • Dogbark()方法使用public修饰符,因此任何类都可以调用它。

注意事项:

  • 子类无法访问父类使用private修饰符的成员。
  • 子类可以更改带有protected修饰符的父类成员的值。
  • 如果不指定访问权限修饰符,则成员将默认为defaultrrreee
  • 위 코드에서:
Animalname필드는 protected수정자를 사용하므로 Dog클래스가 이에 액세스할 수 있습니다. Animaleat()메서드는 public수정자를 사용하므로 Dog가 호출할 수 있습니다. 수업과 다른 수업. Dogbark()메서드는 public수정자를 사용하므로 모든 클래스에서 호출할 수 있습니다. 참고: 하위 클래스는 private수정자를 사용하여 상위 클래스의 멤버에 액세스할 수 없습니다. 하위 클래스는 protected수정자를 사용하여 상위 클래스 멤버의 값을 변경할 수 있습니다. 액세스 한정자를 지정하지 않으면 멤버는 기본적으로 default(패키지 범위)로 설정됩니다.

위 내용은 Java 함수 액세스 수정자와 상속 간의 관계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!