【Javaプログラミング】アクセス修飾子とは?アクセス修飾子の種類と使い方 -プロショ

スポンサーリンク
アクセス修飾子 Java用語

アクセス修飾子とは、アクセスのレベルを決めるためのもの。
作ったプログラムを別のクラスなどで参照したいときに使用したり、アクセス制限をかけたりすることができる。

アクセス修飾子は4種類ある。

スポンサーリンク

public

 

「public」はアクセス修飾子の1つ。

どのクラスやファイルからでもデータを参照することが可能。

アクセス修飾子

 

で囲った「Java TakusanRenshu」とで囲った「MottoGanbare」がJavaプロジェクトと呼ばれるファイル名。

publicを付けることで、このJavaプロジェクト内の中ならどこからでもアクセスすることができる
同じ枠の中なら、パッケージが違ってもアクセスが可能。

 

ただし「public」を付けても、赤で囲ったファイルから緑のファイルを参照したりすることはできない。

 

例1

 

KomeKomeのパッケージ内の「Student.java」というクラスに以下のコードを作る。
これは「Student」というクラスを自作したもので、そのクラスの中に「System.out.println(78);」と記入。

public class Student {
public static void mako() {
System.out.println(78);
}

}

同じパッケージ内の「MottoRenshu.java」というクラスからStudentクラスにアクセスして、上記のコードを参照する。

public class MottoRenshu {

public static void main(String[] args) {
Student.mako();

}

}

実行すると「78」が表示される。

例2

 

パッケージが違う場合でも、同じJavaプロジェクトファイル内ならアクセス可能。
以下はRenshuパッケージの「access」クラスに作成したプログラム。

KomeKomeパッケージ内のStudentクラスから、「System.out.println(78);」を表示させるmakoメソッドを使用。

プログラムを実行すると「78」がちゃんと表示される。

import KomeKome.Student;

public class access {

public static void main(String[] args) {
Student.mako();

}

}

 

protected

 

protectedはpublicとは違い、パッケージが違うとアクセスができない

でもパッケージが違ってもサブクラスから参照することは可能。

サブクラスとは、ほかのクラスから引き継がれるもの。

オブジェクトと考え方は似ている。

動物(スーパークラス)⇒犬、猫、キツネなど

ちなみにサブクラスには「extends」が付けられる。

 

指定なし(デフォルト設定)

 

もし何も書かなければ、デフォルトとなる。

デフォルトとは、同じパッケージ内ならアクセス可能
protectedはパッケージが違ってもサブクラスからならアクセスが可能だったが、こちらはパッケージが異なるだけでアクセス不可となる。

protectedよりアクセス可能範囲が少し狭くなる。

 

private

 

privateは他のアクセス修飾子と比べると、アクセス制限レベルが最も高い。

privateを使用すると、同じクラス内からしかアクセスができない

同じパッケージ内にあっても、クラスが違えばそのデータは参照できないから注意。

 

アクセスレベルの順番

 

アクセス修飾子は以下の順番で制限度が高くなっていく。
※1がアクセス制限度が低く、4が制限度が高い

  1. public
  2. protected
  3. 指定なし(デフォルト)
  4. private

 

 

 

このエントリーをはてなブックマークに追加

コメント

タイトルとURLをコピーしました