Java のアクセス修飾子は、クラス、インターフェイス、フィールド、メソッドのアクセス範囲を制限するために使用され、それぞれ異なるアクセス制御レベルを表します。 Java には、public、protected、default、private の 4 つのアクセス修飾子があります。
public は最もオープンなアクセス修飾子であり、パブリック アクセス レベルを指定するために使用されます。 public によって変更されたクラス、インターフェイス、フィールド、メソッドにはどこからでもアクセスできます。
たとえば、次のコードはパブリック クラスを定義します。
public class MyClass { // ... }
このクラスはどこからでもアクセスできます。さらに、メソッドまたはフィールドがパブリックとして宣言されている場合は、どこからでもアクセスできます。例:
public class MyClass { public String name; public void sayHello() { System.out.println("Hello, world!"); } }
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 は 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 によって変更されたフィールドとメソッドは、それらが定義されているクラス内でのみアクセスできます。
たとえば、次のコードはプライベート クラスを定義します。
public class MyClass { private String name; private void sayHello() { System.out.println("Hello, world!"); } }
このクラスの name メソッドと SayHello メソッドには、MyClass クラス内でのみアクセスできます。
以上がJava でアクセス修飾子を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。