Javaアクセス制御(パブリック、保護、プライベート)

アクセス制御(パブリック、保護、プライベート)

  • Javaでは、最大から最小のアクセス許可は、パブリック、保護、およびプライベートです。
  • クラスライブラリ:クラスライブラリは、実際にはクラスファイルのセットです。これらの各ファイルには、パブリッククラスと、任意の数の非パブリッククラスがあります。

 

1.public、インターフェースアクセス権限。

publicを使用するということは、publicの後のメンバー宣言がすべての人にとって役立つことを意味します。

例えば:

ここに例を示します。

Liuプロジェクトでは、liusrcとliusrdの2つの新しいパッケージを作成しました。その中で、liusrcでCookie.JavaとDinner.javaの2つのクラスを作成し、liusrdでLunch.javaクラスを作成しました。ディレクトリは次のとおりです。

//Cookie类:
package liusrc;
public class Cookie {
	public Cookie(){
		System.out.println("123456");
	}	
	void bite(){
		System.out.println("098765");
	}
}

//Dinner类:
package liusrc;
public class Dinner {
	public static void main(String[] args){
		Cookie x = new Cookie();
		x.bite();
	}
}

このディナーの出力から:

123456

098765

//Lunch类:
package liusrd;

import liusrc.Cookie;  //导包

public class Lunch {
	public static void main(String[] args){
		Cookie x = new Cookie();
		//x.bite();   //不是public不可以访问
  /*
*如果我们想要x.bite();可以用,则我们需要将Cookie类的void bite(),设置为
*public void bite()
*/
	}
}

このランチ出力から:

123456

2.プライベート、他の人がアクセスできない権限

同じパッケージ内の他のクラスでさえ、プライベートメンバーにアクセスすることはできません。素人の言葉で言えば、それらは自分自身を分離します。

 

3.保護:継承されたアクセス権

Protectedは継承の概念を扱います。彼を継承するクラスのみが彼のメソッドにアクセスできます。

例えば:

//在liusrc中我建了类Cookie2.Java,其中bite()为protected。
package liusrc;
public class Cookie2 {
	public Cookie2(){
		System.out.println("abcd");
	}
	protected void bite(){
		System.out.println("qwer");
	}
}

//在liusrd中我建了Lunch2类,继承类Cookie2:
package liusrd;

import liusrc.Cookie2;

public class Lunch2 extends Cookie2{
	public Lunch2(){
		System.out.println("aaaaa");
	}

	public void sc(){
		bite();
	}
	
	public static void main(String[] args){
		Lunch2 lun = new Lunch2();
		lun.sc();
	}
}

出力:

あいうえお

aaaaa

qwer

つまり、3つのアクセス権は次のように説明できます。

フォルダはコミュニティ、すべてのカテゴリはすべての人と考えることができます。公に改ざんされた人はこのコミュニティの警官です誰かが困難に遭遇したとき、彼らは彼に助けを求めることができます;保護によって改ざんされた人は家族の父と見なすことができ、彼の息子(子孫)だけが困難に遭遇します、彼は救いの手を差し伸べることができます;プライベートによって変更された人はこのコミュニティで最も利己的な人であり、誰も彼から何も得ることができません。

私はオリジナルです、再版するかどうか指定してください、ありがとう!

おすすめ

転載: blog.csdn.net/weixin_40042248/article/details/81951941