Presentation is loading. Please wait.

Presentation is loading. Please wait.

JAVA入門⑥ クラスとインスタンス.

Similar presentations


Presentation on theme: "JAVA入門⑥ クラスとインスタンス."— Presentation transcript:

1 JAVA入門⑥ クラスとインスタンス

2 簡単JAVA説明⑮ 前回の復習 1.クラス クラスの生成 2.フィールド 3.メソッド 定義と呼び出し(引数、戻り値) 4.コンストラクタ
 クラスの生成 2.フィールド 3.メソッド  定義と呼び出し(引数、戻り値) 4.コンストラクタ  定義と呼び出し

3 簡単JAVA説明⑮ クラス変数とクラスメソッド 1.インスタンス変数とインスタンスメソッド
次に示す例では、クラスTESTに関するインスタンス(オブジェクト)を作成した 際、それぞれの、no、scoreには値の入出力が可能でした。 各インスタンス毎にフィールドの値を格納可能でした。 この場合、フィールドno、scoreは 「インスタンス(オブジェクト)に関連付けられている」 と言うことがあります。 インスタンス(オブジェクト)に関連付けられているフィールドを 「インスタンス変数」 インスタンス(オブジェクト)に関連付けられているメソッドを 「インスタンスメソッド」 と言います。

4 簡単JAVA説明⑮ // Testクラスのクラス class Test{ int no; double score;
void show(){ System.out.println("Noは" + no); System.out.println("点数は" + score); }

5 簡単JAVA説明⑮ // Testクラスのインスタンス作成 class Sample1{
public static void main(String args[]){ Test test1 = new Test(); test1.no = 1; test1.score = 85; test1.show(); Test test2 = new Test(); test2.no = 2; test2.score = 75; test2.show(); }

6 簡単JAVA説明⑮ 2.クラス変数とクラスメソッド クラスではインスタンス(オブジェクト)に関連づ
けられていないメンバを持つことができます。 これを 「クラス全体に関連づけられている」 ということがあります。 クラスに関連づけられているフィールドを 「クラス変数」 クラスに関連づけられているメソッドを 「クラスメソッド」 と言います。

7 簡単JAVA説明⑮ クラス変数の構文 class クラス名 { static 型名 クラス変数名; } クラスメソッドの構文
文;

8 簡単JAVA説明⑮ 特徴 必ず、宣言のとき、定義のとき staticという修飾子をつけます。

9 簡単JAVA説明⑮ // Testクラスのクラス class Test{ public static int sum = 0;
private int no; private double score; public Test() { no = 0; score = 0.0; sum++; System.out.println("Noは" + no); } void show(){ System.out.println("点数は" + score);

10 簡単JAVA説明⑮ 5.privateとpubblic メンバへのアクセスの制限 class Test { int no;
double score; void show() System.out.println("Noは" + test.no); System.out.println("点数は" + test.score); }

11 簡単JAVA説明⑮ // Testクラスのオブジェクト作成 class Sample1{
public static void main(String args[]){ Test test = new Test(); test.no = 1; test.score = 85; test.show(); } 上記のプログラムではテストNoと点数scoreに値を代入してい ます。

12 簡単JAVA説明⑮ もし、間違って、 test.score = -85; などとしてしまったら・・・
クラスの外から勝手にアクセスできないようなメンバと しておくことができます。これをprivateメンバと言いま す。以下のようにプログラムを書き換えます

13 簡単JAVA説明⑮ class Test { private int no; private double score;
void show() System.out.println("Noは" + test.no); System.out.println("点数は" + test.score); }

14 簡単JAVA説明⑮ // Testクラスのオブジェクト作成 class Sample1{
public static void main(String args[]){ Test test = new Test(); test.no = 1; test.score = 85; test.show(); }

15 簡単JAVA説明⑮ コンパイルしてみると C:\Jsample>javac Sample1.java
Sample1.java:17: no は Test で private アクセスされます。 test.no = 1; ^ Sample1.java:18: score は Test で private アクセスされます。 test.score = 85; のようなコンパイルエラーが出ます。

16 簡単JAVA説明⑮ publicメンバの作成 privateメンバですと、クラスの外からアクセスできませ
が可能となります。 class Test { public int no; public double score; void show() System.out.println("Noは" + this.no); System.out.println("点数は" + this.score); }

17 簡単JAVA説明⑮ // Testクラスのオブジェクト作成 class Sample1{
public static void main(String args[]){ Test test = new Test(); test.no = 1; test.score = 85; test.show(); }

18 簡単JAVA説明⑮ 修飾子( privateとpubblic ) と言う意味合いです。 省略したメンバは「同じパッケージ」内に含まれ
修飾子は省略が可能です。 省略したメンバは「同じパッケージ」内に含まれ るクラス内からアクセスできます。

19 簡単JAVA説明⑮ 演習1.①~⑥を埋めよ。 class Person { String myName; int myAge;
public void SetName(String name) { myName = name; } public String GetName() { return myName; public void SetAge(int age) { myAge = age; public int GetAge() { return myAge;

20 簡単JAVA説明⑮ class PersonTest { public static void main(String[] args) {
① // 田中さんインスタンスを作る ② // 田中さんの名前を設定する ③ // 田中さんの年齢を設定する ④ // 鈴木さんインスタンスを作る ⑤ // 鈴木さんの名前を設定する ⑥ // 鈴木さんの年齢を設定する System.out.println(tanaka.GetName()); System.out.println(tanaka.GetAge()); System.out.println(suzuki.GetName()); System.out.println(suzuki.GetAge()); }

21 簡単JAVA説明⑮ 実行結果 Tanaka 26 Suzuki 32

22 簡単JAVA説明⑮ 演習1 ヒント 作るべき、クラスはPersonです。
System.out.println(tanaka.GetName()); System.out.println(suzuki.GetName()); から、作成するはインスタンス名はtanakaとsuzukiであることがわかります。


Download ppt "JAVA入門⑥ クラスとインスタンス."

Similar presentations


Ads by Google