Java のキーワード「private」は、Java コード ブロック内のクラス、メソッド、または変数のアクセシビリティの制限を確立するために使用されます。クラス、メソッド、または変数がプログラム内でプライベートとして許可されている場合、パブリック メソッドとは異なり、特定のクラス、メソッド、または変数にクラスまたはメソッドの外部からアクセスできないことを意味します。 Private キーワードは通常、Java の完全にカプセル化されたクラスで使用されます。
Java のプライベート キーワードは、特定のクラス内で機能します。クラス外からはアクセスできません。クラスやインターフェイス、インターフェイスの外では機能しません。 Private Keyword は、クラスのメンバーが PRIVATE である場合、および完全にカプセル化されたクラスでも適切に機能します。プライベート キーワード、変数、またはメソッドは、クラス外で PRIVATE METHOD を呼び出すアクセス修飾子を使用してサブクラスにオーバーライドすることもできます。これにより、Private Keyword は Private Access Modifier を使用する場合にのみクラスの外でも機能します。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
プライベート修飾子の例をいくつか示します。
ここでは、クラス AB からアクセスするプライベート データ メンバーによるコンパイル エラーを示す Private Access Modifier の例を示します (以下の例を参照)。プライベート メソッドまたはプライベート メンバーは、特定のクラス内でのみアクセスできます。
コード:
class AB{ private double number = 100; private int squares(int a){ return a*a; } } public class Main{ public static void main(String args[]){ AB obj = new AB(); System.out.println(obj.number); System.out.println(obj.squares(10)); } }
出力:
これは、以下のプログラムで PRIVATE キーワードを使用する例を示しています。
コード:
class Emp{ private int id1; private String name14; private int age14; public int getId1() { return id1; } public void setId(int id1) { this.id1 = id1; } public String getName14() { return name14; } public void setName14(String name14) { this.name14 = name14; } public int getAge14() { return age14; } public void setAge14(int age14) { this.age14 = age14; } } public class Main{ public static void main(String args[]){ Emp e=new Emp(); e.setId(1473); e.setName14("Pavan Kumar Sake"); e.setAge14(24); System.out.println(e.getId1()+" "+e.getName14()+" "+e.getAge14()); } }
出力:
この例では、デフォルトのアクセス修飾子を使用して PRIVATE METHOD がどのようにサブクラスにオーバーライドされるかを示しています。親クラスのメソッドをサブクラスから呼び出すこともできません。
コード:
class ABC{ private void msg() { System.out.println("Hey Buddy this is the parent class method"); //Output of the Private Method } } public class Main extends ABC{ // Private method is overridden using the access modifier void msg() { System.out.println("Buddy this is the child class method"); } public static void main(String args[]){ Main obj=new Main(); obj.msg(); } }
出力:
この例では、PRIVATE METHOD をクラスの外で呼び出したり呼び出すことができないことを示しています。ここでは、クラスのランタイム動作を変更することで、プライベート メソッドが Outside クラスから呼び出されています。
コード:
import java.lang.reflect.Method; class ABC { private void display() { System.out.println("Hey Now private method is invoked/Called"); } } public class Main{ public static void main(String[] args)throws Exception{ Class d = Class.forName("ABC"); Object p= d.newInstance(); Method n =d.getDeclaredMethod("display", null); n.setAccessible(true); n.invoke(p, null); } }
出力:
これは、Java プログラミング言語のプライベート メソッドとフィールドの例です。ここで、プライベート メソッドはコンパイル時に静的バインディングを使用し、オーバーライドすることもできません。 Private 変数は実際には内部クラス内でアクセスできるため、Private 変数の出力と混同しないでください。 PRIVATE 変数がクラス外で呼び出される場合、コンパイラは間違いなくエラーを生成します。
コード:
public class Main { private String i_m_private1 = " \n Hey Buddy I am a private member and i am not even accessible outside of this Class"; private void privateMethod1() { System.out.println("Outer Class Private Method"); } public static void main(String args[]) { Main outerClass = new Main(); NestedClass nestc = outerClass.new NestedClass(); nestc.showPrivate(); //This syntax shows private method/methods are accessible inside the class/inner class. outerClass = nestc; nestc.privateMethod1(); //It don't call/invoke private method from the inner class because // you can not override the private method inside the inner class. } class NestedClass extends Main { public void showPrivate() { System.out.println("Now we are going to access Outer Class Private Method: " + i_m_private1); privateMethod1(); } private void privateMethod1() { System.out.println("Nested Class's Private Method"); } } }
出力:
ここでは、Java でプライベート メソッド/フィールドを使用する利点について説明します。
ここでは、プライベートに関する知っておくべきいくつかのルールと規制を示します。
メイントピックの終わりに近づいて、Java でプライベート キーワードを使用することがいかに便利で簡単であるかを知ってうれしく思います。この記事では、プライベート キーワード、プライベート変数、アクセス修飾子、プライベート コンストラクター、およびこれらのプライベート キーワードをプログラムで使用する方法を理解していただければ幸いです。
以上がJavaのプライベートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。