>Java >java지도 시간 >Java 함수 액세스 수정자와 상속 간의 관계

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

WBOY
WBOY원래의
2024-04-25 15:24:021188검색

액세스 권한 수정자는 클래스, 메서드 및 필드의 액세스 범위를 결정하고 상속에서 중요한 역할을 합니다. 공개: 모든 클래스 및 하위 클래스에 대한 액세스를 허용합니다. 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.