ホームページ  >  記事  >  Java  >  Java でアクセス修飾子を使用する方法

Java でアクセス修飾子を使用する方法

WBOY
WBOY転載
2023-05-10 19:55:04970ブラウズ

Java のアクセス修飾子は、クラス、インターフェイス、フィールド、メソッドのアクセス範囲を制限するために使用され、それぞれ異なるアクセス制御レベルを表します。 Java には、public、protected、default、private の 4 つのアクセス修飾子があります。

public

public は最もオープンなアクセス修飾子であり、パブリック アクセス レベルを指定するために使用されます。 public によって変更されたクラス、インターフェイス、フィールド、メソッドにはどこからでもアクセスできます。

たとえば、次のコードはパブリック クラスを定義します。

public class MyClass {
    // ...
}

このクラスはどこからでもアクセスできます。さらに、メソッドまたはフィールドがパブリックとして宣言されている場合は、どこからでもアクセスできます。例:

public class MyClass {
    public String name;
    public void sayHello() {
        System.out.println("Hello, world!");
    }
}

protected

protected は、保護されたアクセス レベルを指定します。 protected で変更されたクラス、フィールド、メソッドは、このパッケージ内の他のクラスやサブクラスからアクセスできます。

たとえば、次のコードは保護されたクラスを定義します。

package mypackage;
protected class MyProtectedClass {
    // ...
}

このクラスには、mypackage パッケージ内の他のクラス、および MyProtectedClass を継承するサブクラスからのみアクセスできます。さらに、メソッドまたはフィールドが保護されていると宣言されている場合、同じパッケージ内の他のクラスや、このクラスを継承するサブクラスからもアクセスできます。例:

package mypackage;
public class MyClass {
    protected String name;
    protected void sayHello() {
        System.out.println("Hello, world!");
    }
}

このクラスの name メソッドと SayHello メソッドには、mypackage パッケージ内の他のクラスや、MyClass を継承するサブクラスからアクセスできます。

default

default は Java のデフォルトのアクセス修飾子であり、パッケージ レベルのプライベート アクセス制御とも呼ばれます。クラス、インターフェイス、フィールド、またはメソッドがアクセス修飾子を使用しない場合、それがデフォルトのアクセス レベルになります。デフォルトのアクセス レベルは、同じパッケージ内でのみアクセスが可能であることを意味します。

たとえば、次のコードは、デフォルトのアクセス レベルを持つクラスを定義します。

package mypackage;
class MyDefaultClass {
    // ...
}

このクラスには、mypackage パッケージ内の他のクラスからのみアクセスできます。さらに、メソッドまたはフィールドがアクセス修飾子を使用しない場合、それがデフォルトのアクセス レベルでもあります。例:

package mypackage;
public class MyClass {
    String name;
    void sayHello() {
        System.out.println("Hello, world!");
    }
}

このクラスの name メソッドと SayHello メソッドには、mypackage パッケージ内の他のクラスからのみアクセスできます。

private

private は最も制限的なアクセス修飾子であり、プライベート アクセス レベルを指定するために使用されます。 private によって変更されたフィールドとメソッドは、それらが定義されているクラス内でのみアクセスできます。

たとえば、次のコードはプライベート クラスを定義します。

public class MyClass {
    private String name;
    private void sayHello() {
        System.out.println("Hello, world!");
    }
}

このクラスの name メソッドと SayHello メソッドには、MyClass クラス内でのみアクセスできます。

以上がJava でアクセス修飾子を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。