Java関数のアクセス修飾子と継承の関係

WBOY
リリース: 2024-04-25 15:24:02
オリジナル
1149 人が閲覧しました

アクセス許可修飾子は、クラス、メソッド、フィールドのアクセス範囲を決定し、継承において重要な役割を果たします: public: すべてのクラスとサブクラスへのアクセスを許可します。 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 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート