SlideShare a Scribd company logo
1 of 39
XMLPro 17回目
前回の復習
メソッド
2
はじめに
• プログラムでは同じような処理を何度も記述
しなければならないことがあります
• そんな処理を一つの機能としてまとめて、必
要に応じて利用できるようにしておくと便利で
す。
↓
• その纏めた処理の塊をメソッドといいます
3
4
↓mainメソッド!!
↓作ったメソッド!!
←メソッドを呼び出す
実行
• 実行すると・・・
5
メソッドが呼び出されると・・・
• ①普通の出力
• ② ←メソッドの呼び出し
メソッドの中身を処理
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
Sample1_Sub
16
他のクラスを使うためには
//この処理をクラスのインスタンス化といいます
クラス名 変数名 = new クラス名();
//他のクラスのメソッドを扱うには
変数名. メソッド名();
//変数をつかいたいときは
変数名. フィールド(変数名);
で使うことができます
17
ん?
覚えがあるような・・・
見たことあるよね?
クラス名 変数名 = new クラス名();
変数名. メソッド名();
19
というわけでScannerとかは
クラス使ってたのです!!
変数名のあとに.next()とかはそのク
ラスの中に入っているメソッドを呼び
出しているのです
メソッドの書き方の例
修飾子 戻り値の型 メソッド名(引数1, 引数2, ....){ }
①戻り値なし
public void show() {
}
②戻り値あり *文字列を返したいときは””で囲うこと
public int sum() {
return ******;
}
21
実際に使ってみよう
クラス名 変数名 = new クラス名();
で準備
変数名. メソッド名();
で呼び出し
書いてみて S1_Main
23
S1_Main
24
←使いたいクラス
の名前
書いてみて S1_Sub
• メソッド1つ記述
25
実行結果
26
変数をつかってみよう
変数名. フィールド(変数名);
で他のクラスの変数が使える
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年後期にや
らされると思います
補完機能追加方法
• 設定>Java>エディター>テンプレート
• 新規を押して名前とコードを編集
• Javaステートメント
38
真・問題
• オリジナルなクラスとメソッドを作ってみてくださ
い
例)人の情報を扱うクラス
図形の面積を扱うクラス
正直なんでもいいです!!
• それをmainメソッドのあるクラスから呼び出して
実行できればおkです いろいろ試してみてくだ
さい
39

More Related Content

Similar to 基礎構文班 17回目 クラスとメソッド

基礎構文班18回目
基礎構文班18回目基礎構文班18回目
基礎構文班18回目
XMLProJ2014
 
基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)
XMLProJ2014
 
Power shellmemo
Power shellmemoPower shellmemo
Power shellmemo
ytanno
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
icchy
 
基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え
XMLProJ2014
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
icchy
 
FP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIterateeFP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIteratee
pocketberserker
 
覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方
Fuminobu Takeyama
 

Similar to 基礎構文班 17回目 クラスとメソッド (20)

基礎構文班18回目
基礎構文班18回目基礎構文班18回目
基礎構文班18回目
 
基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)基礎構文班21回目 (コンストラクタ, 継承)
基礎構文班21回目 (コンストラクタ, 継承)
 
Power shellmemo
Power shellmemoPower shellmemo
Power shellmemo
 
Eclipse xtext 紹介
Eclipse xtext 紹介Eclipse xtext 紹介
Eclipse xtext 紹介
 
シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)シェル芸初心者によるシェル芸入門 (修正版)
シェル芸初心者によるシェル芸入門 (修正版)
 
基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え基礎構文班19回目 変数のスコープとforの並び替え
基礎構文班19回目 変数のスコープとforの並び替え
 
シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門シェル芸初心者によるシェル芸入門
シェル芸初心者によるシェル芸入門
 
Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6Lisp Tutorial for Pythonista Day 6
Lisp Tutorial for Pythonista Day 6
 
入門 シェル実装
入門 シェル実装入門 シェル実装
入門 シェル実装
 
使い捨て python コードの書き方
使い捨て python コードの書き方使い捨て python コードの書き方
使い捨て python コードの書き方
 
Phpstormをつかいはじめました〜序〜 #sa_study
Phpstormをつかいはじめました〜序〜 #sa_studyPhpstormをつかいはじめました〜序〜 #sa_study
Phpstormをつかいはじめました〜序〜 #sa_study
 
pi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッドpi-3. 式の抽象化とメソッド
pi-3. 式の抽象化とメソッド
 
PHPUnitTest勉強会スライド
PHPUnitTest勉強会スライドPHPUnitTest勉強会スライド
PHPUnitTest勉強会スライド
 
PHPUnitTest勉強会スライド
PHPUnitTest勉強会スライドPHPUnitTest勉強会スライド
PHPUnitTest勉強会スライド
 
FP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIterateeFP習熟度レベルとFSharpxのIteratee
FP習熟度レベルとFSharpxのIteratee
 
PHP でも活用できる Makefile
PHP でも活用できる MakefilePHP でも活用できる Makefile
PHP でも活用できる Makefile
 
こわくないScala
こわくないScalaこわくないScala
こわくないScala
 
覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方覚えておきたい! zypper コマンドの使い方
覚えておきたい! zypper コマンドの使い方
 
Scala is-unscared
Scala is-unscaredScala is-unscared
Scala is-unscared
 
最近の単体テスト
最近の単体テスト最近の単体テスト
最近の単体テスト
 

More from XMLProJ2014 (20)

Java班講義資料第3回
Java班講義資料第3回Java班講義資料第3回
Java班講義資料第3回
 
Java班講義資料第2回
Java班講義資料第2回Java班講義資料第2回
Java班講義資料第2回
 
第1回Java講義資料
第1回Java講義資料第1回Java講義資料
第1回Java講義資料
 
00環境構築
00環境構築00環境構築
00環境構築
 
Mash up awards(クリスマス会)
Mash up awards(クリスマス会)Mash up awards(クリスマス会)
Mash up awards(クリスマス会)
 
きのこたけのこ戦争
きのこたけのこ戦争きのこたけのこ戦争
きのこたけのこ戦争
 
クリパ用Lt2014
クリパ用Lt2014クリパ用Lt2014
クリパ用Lt2014
 
ポケモン解説
ポケモン解説ポケモン解説
ポケモン解説
 
クリスマス会Lt
クリスマス会Ltクリスマス会Lt
クリスマス会Lt
 
一年ツイッター
一年ツイッター一年ツイッター
一年ツイッター
 
C++班
C++班C++班
C++班
 
C#班
C#班C#班
C#班
 
Web班
Web班Web班
Web班
 
Web 11
Web 11Web 11
Web 11
 
Web 09
Web 09Web 09
Web 09
 
Android班第4回
Android班第4回Android班第4回
Android班第4回
 
Web 10
Web 10Web 10
Web 10
 
OpenSource
OpenSourceOpenSource
OpenSource
 
百合について
百合について百合について
百合について
 
Web 08
Web 08Web 08
Web 08
 

基礎構文班 17回目 クラスとメソッド

Editor's Notes

  1. メソッドを呼び出さないで実行とメソッドを呼び出して実行で比べてみる
  2. return