Javaの授業 15 [ 修飾子 publicとprivate ] | Let's Re⇒move

Javaの授業 15 [ 修飾子 publicとprivate ]

public と private


・デスクトップにフォルダ作成。


Execute.javaを新規作成。
--------------------------------------------
public class Execute {
public static void main(String[] args){
    Test1 test1 = new Test1();
//内容は後で書きます。
  }

---------------------------------------------
Test1.javaを新規作成。
---------------------------------------------
public class Test1 {
public int a;^ //public
private int b;^ //private

public Test1() {
this.a = 100;
this.b = 200;
}
//public
public void display1() {
System.out.println(a + b);
}
//private
private void display2() {
System.outprintln(a + b);
}
//public
public void display3() {
display2();
}
}
----------------------------
コマンドプロンプトでの実行方法
----------------------------
① -->javac Test1.java
-->javac Execute.java
-->java Execute

② -->javac Test1.java Execute.java
-->java Execute

③ -->javac *.java ←フォルダ内のjavaファイルを全てコンパイル
-->java Execute

---------------------------------------------
Execute.javaに追記。①
---------------------------------------------
Test1.display1();
---------------------------------------------
→コンパイルOK

---------------------------------------------
Execute.javaに追記。②
---------------------------------------------
Test1.display2();
---------------------------------------------
→display2()はprivateな為エラー。

---------------------------------------------
Execute.javaに追記。 ③
---------------------------------------------
Test1.display3();
---------------------------------------------
→コンパイルOK

---------------------------------------------
Execute.javaに追記。 ④
---------------------------------------------
test1.a = 100;
test1.b = 100;
test1.display1();
---------------------------------------------
→b がprivateな為エラー。
b は Test1 で private アクセスされます。
---------------------------------------------


セッターとゲッター。(private にアクセスできるようにするメソッド。)

Test1に以下のメソッドを追記すれば外部からbの置き換えが可能。
-------------------------------------
//セッター
public void setB(int b) {
this.b = b;
}
//ゲッター(今回は不要 bの値を呼び出すのに使用)
public int getB() {
return b;
}
-------------------------------------
この時の、Execute.javaの追記
-------------------------------------
test1.a = 100;
test1.setB(100);
test1.display(1);
-----------------------------
--------