はじめに• プログラムでは同じような処理を何度も記
述しなければならないことがあります
• そんな処理を一つの機能としてまとめて、必要に応じて利用できるようにしておくと便利です。
↓• その纏めた処理の塊をメソッドといいます
3
4
↓main メソッド!!
↓ 作ったメソッド!!
← メソッドを呼び出す
メソッドが呼び出されると・・・• ① 普通の出力
• ② ← メソッドの呼び出し
メソッドの中身を処理
6
動作の流れ
7
←①
←② メソッドが呼び出されたとき そのメソッドの中の処理実行
本日の内容
クラスについて 文字化けについて補完機能
8
文字化けについて*エクリプスで文字列入れたとき文字化けする人は eclipse.exe と同じ階層にあるeclipse.ini をメモ帳で開いて
-Dfile.encoding=utf-8 を追加してみてください その後再起動
9
クラスとは• クラスはメソッド ( 機能 ) とフィールド
( 変数のこと ) の固まりです
• メソッド ( 機能 ) とフィールド ( 変数のこと ) のことをクラスのメンバといいます
10
クラスにはメソッド書けますStatic は必要ない ( 普通は )
例 )class クラス名 {
public void メソッド () {
}}
11
クラスにはフィールド ( 変数 ) 書けます
いつもの変数の宣言の後ろに、「 public 」をつけて記述してください例 )class クラス名 {
public int a;public int b;
}
12
だいたいこんな形になります例 )class クラス名 {
public int a;public int b;
public void メソッド () {
}
public int メソッド 2() {return ***;
}
}
13
だいたいこんな形になりますclass クラス名 {フィールド 1 フィールド 2 ...
メソッド 1 メソッド 2 ... }
14
クラス作ってみよう• 新しくクラス (java ファイル ) を作成
• ファイル > 新規 > クラスを選択でも同じ
15
他のクラスを使うためには// この処理をクラスのインスタンス化といいますクラス名 変数名 = new クラス名 ();
// 他のクラスのメソッドを扱うには変数名 . メソッド名 ();
// 変数をつかいたいときは変数名 . フィールド ( 変数名 );
で使うことができます
17
ん?
覚えがあるような・・・
18
見たことあるよね?クラス名 変数名 = new クラス名 ();変数名 . メソッド名 ();
19
というわけで Scanner とかはクラス使ってたのです!!
変数名のあとに .next() とかはそのクラスの中に入っているメソッド
を呼び出しているのです
20
メソッドの書き方の例 修飾子 戻り値の型 メソッド名 ( 引数 1, 引数 2, ....){ }
① 戻り値なしpublic void show() {
}
② 戻り値あり * 文字列を返したいときは””で囲うこと
public int sum() {return ******;
}
21
実際に使ってみよう
クラス名 変数名 = new クラス名 ();で準備
変数名 . メソッド名 ();で呼び出し
22
S1_Main
24
← 使いたいクラス の名前
書いてみて S1_Sub
• メソッド 1 つ記述
25
変数をつかってみよう変数名 . フィールド ( 変数名 );
で他のクラスの変数が使える
27
追記 変数 Sample1_Main
28
追記 変数 Sample1_Sub
• 変数追加
29
public と private
• わかりやすくいうとアクセス権限ですpublic クラスの外からアクセス可
private クラスの中でしか扱えない
試しに P29 の変数の public を private に変更してみるとエラーが発生します
30
おまけ 引数• 引数を渡す方法はメソッドを呼び出すと
きに渡したい値を入れます↓
• そしてメソッドには受け取った引数にあった型の変数を用意します この変数はこのメソッド内で使用できます 先週まではstatic ついてました
今回は、他のクラスを使うので必要ないです
31
問題 1-1
メインのあるクラスで Person クラスを扱うp1 を宣言し①Person クラスに変数として文字列型の
nameを作成してください
32
問題 1-2
②Person クラスにメソッドとして名前を入力してください
と表示する show メソッドを作成してください
33
問題 1-3
③Person クラスにキーボードから入力した名前を Person クラスの変数 name に代入する setName メソッドを作ってください
34
問題 1-4
④Person クラスの変数 name を取得するgetName メソッドを作ってください
35
問題 1-5 終
⑤ 最後に main メソッドがあるクラスからsetName() と getName() を使って自分の名前を表示するプログラムを記述してください
36
こんな感じのことを 1 年後期にやらされると思います
37
補完機能追加方法• 設定 >Java> エディター > テンプレート
• 新規を押して名前とコードを編集• Java ステートメント
38
真・問題• オリジナルなクラスとメソッドを作ってみ
てください例 ) 人の情報を扱うクラス 図形の面積を扱うクラス 正直なんでもいいです!! • それを main メソッドのあるクラスから呼び
出して実行できればおkです いろいろ試してみてください
39