Javaには4つのアクセス制御修飾子があります。
違いをコードと比較するために、最初に2つのパッケージ、AREA1とAREA2を作成します。 5つのクラスは、Persondemo、Personson、Persontest、およびAutpersonです。
その後、人、パーソンデモ、エリア1のペルソソンを入れます1。
PersontestとAutpersonは、Area2パッケージの下に配置されます。
同じカテゴリの4つのアクセス制御修飾子の例:
パッケージAREA1; public class person {public string _public = "public変数"; // public Public変数のprivate string _private = "private変数"を定義します。 // private private variable Protected string _protected = "Protected Variable"を定義します。 //保護された変数文字列_DEFAULT = "default"を定義します。 //変数public void _pub(){// public method system.out.println(_public); } private void _pri(){//プライベートメソッドSystem.out.println(_private); } protected void _pro(){//保護メソッドSystem.out.println(_protected); } void _def(){//デフォルトのメソッドsystem.out.println(_default); } public static void main(string [] args){person p = new person(); //オブジェクトを作成するp._pub(); //メソッドP._pri(); p._pro(); p._def(); }}同じパッケージのさまざまなクラス(サブクラスを除く)の下での4つのアクセス制御修飾子のコードの例:
パッケージAREA1; public class persondemo {public static void main(string [] args){person p = new person(); // class class p._pub()のオブジェクトを作成します。 p._pri(); //エラーを報告するp._pro(); p._def(); }}同じBUNサブクラスの下にある4つのアクセス制御修飾子のコードの例:
パッケージAREA1;パブリッククラスのPersonson拡張者{//サブクラスパーソンソンは親クラスの人を継承しますpublic static void main(string [] args){personson son = new personson(); // subclassはオブジェクトson._pub()を作成します。 son._pro(); son._def(); son._pri(); //エラー担当者父= new Person(); //クラスを準備することを作成しますfath._def(); father._pub(); father._def(); father._pri(); //エラーを報告する}}同じパッケージのさまざまなクラス(サブクラスを除く)の下での4つのアクセス制御修飾子のコードの例:
パッケージAREA2; Import Area1.Person; // Person Class Public Class Persontestを参照{public static void main(string [] args){person p = new person(); //人クラスはオブジェクトを作成しますp._pub(); p._pro(); //エラーp._pri()を報告します。 //エラーp._def(); //エラーを報告する}}同じBUNサブクラスの下にある4つのアクセス制御修飾子のコードの例:
パッケージAREA2; Import Area1.Person; // AREA1パッケージの下で人クラスを参照してくださいパブリッククラスのアウトパンは人を拡張します{//サブクラスは親クラスを継承しますpublic static void main(string [] args){outperson out = new Outperson(); // subclassはオブジェクトを作成します。_pub(); out._pro(); out._pri(); //エラーを報告します。_def(); //エラーを報告する}}注:チャートと慎重に比較してください!