■
メモリの状態
public class Sample{
public static
void main(String args[ ]){
int a =
1;
…
}
}
このプログラムをコンピュータのメモリに読み込むと、
以下のようなイメージになる。
メモリ
1
1000番地
a
■
String型(参照型)のメモリの状態
…
String
strMessage;
strMessage =
“Stringクラスを…”
String型のデータは以下のようにメモリに読み込まれる。
2000番地
…
‘S’
‘t’
‘r’
‘i’
‘n’
…
strMessage
1000番地
2000番地
2001番地
■
メソッド
クラスの中で定義される、データの処理を行うもの。
書き方:オブジェクト名.メソッド名( )
(例)strMessage.length()
strMessageの中にある文字列の文字数を数える機能を持つ。
■
フィールド
クラスの中で定義される、データを記憶しておくもの。
書き方:オブジェクト名.フィールド名
(例)kojima.namae =
“小島よしお”
kojima.namaeに文字列”小島よしお”(の先頭番地)を格納する。
■
Mathクラス=Mathematics:数学
■
abs=absolute
value:絶対値
■
インスタンスメソッド
オブジェクトを作成しないと、利用できないメソッド。
(例)Ningen
kojima;
kojima = new Ningen();//オブジェクト作成
kojima.sakebi();//オブジェクトのメソッド呼出し
■
クラスメソッド
オブジェクトを作成しなくても、利用できるメソッド。(クラスの設計時にメソッドの前にキーワード”static(=静的な)”がついたメソッド。)
(例)class Shain{
String namae;
int kyuyo;
static void
kaishamei(){
System.out.println(“○×物産”);
}
}
public class Kyuyo{
public static void main(String
args[ ]){
Shain tanaka = new
Shain();
Shain suzuki = new
Shain();
tanaka.namae =
“田中一郎”;
tanaka.kyuyo =
200000;
suzuki.namae =
“鈴木次郎”;
suzuki.kyuyo =
250000
//staticのついたメソッドに
//アクセスするには、
//クラス名.メソッド名と書く
Shain.kaishamei();
System.out.println(tanaka.namae + “の給与:” + tanaka.kyuyo);
System.out.println(suzuki.namae +
“の給与:” + suzuki.kyuyo);
}
}
tanakaとsuzukiが同じ会社に勤めているならば、オブジェクトごとに会社名を表示するkaisyamei()を作成するのはメモリの無駄。よってキーワードstaticをつけてクラスメソッドにし、Shainクラスに共通のメソッドとした。
“○×物産”と表示
“田中一郎”
200000
“鈴木次郎”
250000
←tanaka、suzukiともに
参照できるクラスメソッド
Shain.kaishamei()
tanaka.namae
tanaka.kyuyo
suzuki.namae
suzuki.kyuyo
■
メソッドの定義の仕方
戻り値
メソッド名(引数,引数,…){
処理;
}
戻り値:処理した結果の型名を書く。
引数:処理を行う対象となるデータ型および仮の引数名
(例)・void
kaishamei(){
System.out.println(“○×物産”);
}
戻り値:void型=処理した結果の値はない
引数:なし
メモリの状態
public class Sample{
public static
void main(String args[ ]){
int a =
1;
…
}
}
このプログラムをコンピュータのメモリに読み込むと、
以下のようなイメージになる。
メモリ
1
1000番地
a
■
String型(参照型)のメモリの状態
…
String
strMessage;
strMessage =
“Stringクラスを…”
String型のデータは以下のようにメモリに読み込まれる。
2000番地
…
‘S’
‘t’
‘r’
‘i’
‘n’
…
strMessage
1000番地
2000番地
2001番地
■
メソッド
クラスの中で定義される、データの処理を行うもの。
書き方:オブジェクト名.メソッド名( )
(例)strMessage.length()
strMessageの中にある文字列の文字数を数える機能を持つ。
■
フィールド
クラスの中で定義される、データを記憶しておくもの。
書き方:オブジェクト名.フィールド名
(例)kojima.namae =
“小島よしお”
kojima.namaeに文字列”小島よしお”(の先頭番地)を格納する。
■
Mathクラス=Mathematics:数学
■
abs=absolute
value:絶対値
■
インスタンスメソッド
オブジェクトを作成しないと、利用できないメソッド。
(例)Ningen
kojima;
kojima = new Ningen();//オブジェクト作成
kojima.sakebi();//オブジェクトのメソッド呼出し
■
クラスメソッド
オブジェクトを作成しなくても、利用できるメソッド。(クラスの設計時にメソッドの前にキーワード”static(=静的な)”がついたメソッド。)
(例)class Shain{
String namae;
int kyuyo;
static void
kaishamei(){
System.out.println(“○×物産”);
}
}
public class Kyuyo{
public static void main(String
args[ ]){
Shain tanaka = new
Shain();
Shain suzuki = new
Shain();
tanaka.namae =
“田中一郎”;
tanaka.kyuyo =
200000;
suzuki.namae =
“鈴木次郎”;
suzuki.kyuyo =
250000
//staticのついたメソッドに
//アクセスするには、
//クラス名.メソッド名と書く
Shain.kaishamei();
System.out.println(tanaka.namae + “の給与:” + tanaka.kyuyo);
System.out.println(suzuki.namae +
“の給与:” + suzuki.kyuyo);
}
}
tanakaとsuzukiが同じ会社に勤めているならば、オブジェクトごとに会社名を表示するkaisyamei()を作成するのはメモリの無駄。よってキーワードstaticをつけてクラスメソッドにし、Shainクラスに共通のメソッドとした。
“○×物産”と表示
“田中一郎”
200000
“鈴木次郎”
250000
←tanaka、suzukiともに
参照できるクラスメソッド
Shain.kaishamei()
tanaka.namae
tanaka.kyuyo
suzuki.namae
suzuki.kyuyo
■
メソッドの定義の仕方
戻り値
メソッド名(引数,引数,…){
処理;
}
戻り値:処理した結果の型名を書く。
引数:処理を行う対象となるデータ型および仮の引数名
(例)・void
kaishamei(){
System.out.println(“○×物産”);
}
戻り値:void型=処理した結果の値はない
引数:なし
int keisan(int x, int
y){
return x * y;
}
戻り値:int型である。(x*yの結果はint
型であり、その結果をreturnで返している。)
引数:int型 仮引数名x
int型
仮引数名y
処理:x * yの結果を呼び出し元に返す
◆
実験プログラム
1)StringクラスのcharAt()メソッドを利用するプログラムを作れ。ただし、charAt(index)は指定されたインデックス位置にある文字を返す。
2)Inuクラスを設計せよ。
フィールド:色(黒、白、など)
メソッド:nake()
画面に”ワン”と表示
Petクラス(mainがある方)でInuクラスを利用せよ。
Inuクラスのオブジェクトpochiを作成。
pochiの色を代入し、表示。
nake()を呼び出す。
次回はD3L4から
y){
return x * y;
}
戻り値:int型である。(x*yの結果はint
型であり、その結果をreturnで返している。)
引数:int型 仮引数名x
int型
仮引数名y
処理:x * yの結果を呼び出し元に返す
◆
実験プログラム
1)StringクラスのcharAt()メソッドを利用するプログラムを作れ。ただし、charAt(index)は指定されたインデックス位置にある文字を返す。
2)Inuクラスを設計せよ。
フィールド:色(黒、白、など)
メソッド:nake()
画面に”ワン”と表示
Petクラス(mainがある方)でInuクラスを利用せよ。
Inuクラスのオブジェクトpochiを作成。
pochiの色を代入し、表示。
nake()を呼び出す。
次回はD3L4から