Javaは4つの異なる権限修飾子をテストします


シリコンバレーはまだ記事の
内容が以前の内容から選択され ていることは完全には説明されていません。今度 はjava4パーミッション修飾子 リンクを作成し ます。

プライベートテスト

プライベートはクラスカプセル化の重要な表現です。Javaでは、プライベートメソッドとプロパティはクラス内でのみ呼び出すことができ
ます最初にcom.atguigu.java2パッケージでOrderクラスを作成します

package com.atguigu.java2;

public class Order {
    
    
	private int orderPrivate;	
	int orderDefault;
	protected int orderProtected;
	public int orderPublic;
	
	private void methodPrivate(){
    
    
		orderPrivate = 1;
		orderDefault = 2;
		orderProtected = 3;
		orderPublic =4;
	}
	void methodDefault(){
    
    
		orderPrivate = 1;
		orderDefault = 2;
		orderProtected = 3;
		orderPublic =4;
	}
	protected void methodProtected(){
    
    
		orderPrivate = 1;
		orderDefault = 2;
		orderProtected = 3;
		orderPublic =4;
	}
	
	public void methodPublic(){
    
    
		orderPrivate = 1;
		orderDefault = 2;
		orderProtected = 3;
		orderPublic =4;
	}
}

同じパッケージにOrderTestクラスを作成します

package com.atguigu.java2;

public class OrderTest {
    
    
	public static void main(String[] args) {
    
    
		Order order = new Order();
		order.orderDefault = 1;
		order.orderProtected =2;
		order.orderpublic =3;
		
		order.methodDefault();
		order.methodProtected();
		order.methodPublic();
		
//		order.methodPrivate();
//		order.orderPrivate();
	}
}

コメントアウトされた部分は表示されない部分であり、システムはカプセル化によるエラーを報告します。

テスト保護され、デフォルト

Protectedは、さまざまなパッケージのサブクラスで使用でき、同じパッケージでも使用できます。ここでは、主にさまざまなパッケージのサブクラスをテストし
てcom.atguigu.java3パッケージ作成し、パッケージにSubOrderクラスを作成します。継承com.atguigu.java2パッケージのOrderクラスから取得するため、インポートする必要があります。コードは以下のように表示されます

package com.atguigu.java3;

import com.atguigu.java2.Order;

public class SubOrder extends Order {
    
    
	public void method(){
    
    
		orderProtected = 1;
		orderPublic =2;
		
		methodProtected();
		methodPublic();
		
//		orderDefault =3;	
//		orderPrivate =4;
//		
//		methodDefault();
//		methodPrivate();
		
		
	}
}

コメントアウトされた部分は非表示部分です。Protectedは、さまざまなパッケージでの継承関係を反映しています。継承の範囲を拡張するには、保護された修飾子が必要です。

これは別のパッケージであるため、デフォルトの属性とデフォルトのメソッドは、同じパッケージにのみ適用されるため、適用できません。

公開テスト

publicの適用範囲はプロジェクト全体ですが、パッケージの下にある他のパッケージのクラスをインポートするには、importキーワードを使用する必要があります。これはショートカットctrl + shift + oで、importキーワードを自動的に追加できます。

package com.atguigu.java3;

import com.atguigu.java2.Order;

public class OrderTest {
    
    
	public static void main(String[] args) {
    
    
		Order order = new Order();//ctrl + shift + o能够快速导入包
		order.orderPublic = 1;
		order.methodPublic();
		
//		order.orderPrivate = 2;
//		order.orderDefault =3;
//		order.orderProtected = 4;
//		
//		order.methodPrivate();
//		order.methodDefault();
//		order.methodProtected();
	}
}

同様に、コメント部分は表示されません。

おすすめ

転載: blog.csdn.net/Meloneating/article/details/113753201