検索
ホームページJava&#&チュートリアルJava 関数のアクセス修飾子とフィールド アクセスの関係

Java 関数のアクセス修飾子は、クラス内のフィールドへのアクセスに影響します。パブリック関数は、フィールドのアクセス許可に関係なく、すべてのフィールドにアクセスできます。保護された関数は、保護されたアクセスまたはパブリック アクセスを持つフィールドにのみアクセスできます。デフォルト関数は、デフォルトまたはパブリック アクセスを持つフィールドにのみアクセスできます。プライベート関数は、プライベート アクセスを持つフィールドにのみアクセスできます。

Java 函数的访问权限修饰符之与字段访问的联系

Java 関数のアクセス修飾子とフィールド アクセスの間の関係

Java 関数のアクセス修飾子は、クラス内のフィールドへのアクセスを制限できます。この関係を理解することは、コードのセキュリティと保守性を維持するために重要です。

アクセス許可修飾子

Java には 4 つの関数アクセス許可修飾子があります:

  • public: すべてのクラスが関数にアクセスできるようにします。
  • protected: 同じパッケージに属するクラスとサブクラスが関数にアクセスできるようにします。
  • default (修飾子なし): 同じパッケージに属するクラスのみが関数へのアクセスを許可されます。
  • private: クラス自体のみが関数にアクセスできるようにします。

フィールド アクセスのリンク

関数のアクセス修飾子は、クラス内のフィールドへのアクセスに影響します。

  • 関数が public の場合、フィールドのアクセス権に関係なく、すべてのフィールドにアクセスできます。
  • 関数が protected の場合、protected または public アクセス権を持つフィールドのみにアクセスできます。
  • 関数が default の場合、default または public アクセス権を持つフィールドのみにアクセスできます。
  • 関数が private の場合、private アクセス権を持つフィールドのみにアクセスできます。

実際のケース

次のクラスを考えてみましょう:

public class MyClass {
    private int privateField;
    protected int protectedField;
    int defaultField;
    public int publicField;

    public void publicMethod() {
        // 可以访问所有字段
        System.out.println(privateField);
        System.out.println(protectedField);
        System.out.println(defaultField);
        System.out.println(publicField);
    }

    protected void protectedMethod() {
        // 可以访问 protected 和 public 字段
        System.out.println(protectedField);
        System.out.println(publicField);
    }

    void defaultMethod() {
        // 可以访问 default 和 public 字段
        System.out.println(defaultField);
        System.out.println(publicField);
    }

    private void privateMethod() {
        // 只能访问 private 字段
        System.out.println(privateField);
    }
}

この場合:

  • publicMethod() はパブリック メソッドであるため、すべてのフィールドにアクセスできます。 publicMethod() 可以访问所有字段,因为它是公共方法。
  • protectedMethod() 可以访问 protectedFieldpublicField,因为它是受保护方法。
  • defaultMethod() 可以访问 defaultFieldpublicField,因为它是默认为包内可见的方法。
  • privateMethod() 只能访问 privateField
  • protectedMethod() は保護されたメソッドであるため、protectedFieldpublicField にアクセスできます。
🎜defaultMethod() は、デフォルトでパッケージ内で表示されるメソッドであるため、defaultFieldpublicField にアクセスできます。 🎜🎜privateMethod() はプライベート メソッドであるため、privateField にのみアクセスできます。 🎜🎜

以上がJava 関数のアクセス修飾子とフィールド アクセスの関係の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)