--/--/-- (--) スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |


2011/05/31 (Tue) JAVA 11日目 復習用(._.)φ

prog11-1.jpg
prog11-2.jpg

実行結果(java Sample 6 9)

最初の段を6にしました
終わりの段を9にしました。
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
表示した数字の数は36個です。

◆インスタンス変数・メソッド
◆クラス変数・メソッド
◆クラスメソッドについての注意
◆ローカル変数

◆インスタンス変数・メソッド

オブジェクトを作成しないと、フィールドに値が入らず、またメソッドも機能しない。このようにオブジェクトに関連付けられているフィールドインスタンス変数という。また同様のメソッドをインスタンスメソッドという。

class Car
{
num
gas
show()
setNumGas()
}
class Sample
{
Car xxx = new Car(); //これをしないと上のメンバが機能しない
}

◆クラス変数・メソッド

オブジェクトではなくクラスに関連付けられているフィールドやメソッドを、それぞれクラス変数クラスメソッドという。

書き方
static 型名 クラス変数名;
static 戻り値の型 クラスメソッド名(引数リスト);

呼び出し方
クラス名.クラスメソッド名(引数リスト);

クラスメソッドはオブジェクトの作成(new)がなされていなくても呼び出すことが出来る。

※プログラムの開始点になるmain()メソッドはstaticなのでクラスメソッド。

//車クラス
class Car
{
//クラス変数
public static int sum = 0;
public static final int NUMBER = 9999; //定数。変わらない数値。

//インスタンス変数
private int num;
private double gas;

//インスタンスメソッド
public Car()
{
num = 0;
gas = 0.0;
sum++;
System.out.println("車を作成しました。");
}

//インスタンスメソッド
public void setCar(int n, double g)
{
num = n;
gas = g;
System.out.println("ナンバーを"+num+"、ガソリン量を"+gas+"にしました。");
}

//クラスメソッド
public static void showSum()
{
System.out.println("車は全部で"+sum+"台あります。");
}

//インスタンスメソッド
public void show()
{
System.out.println("車のナンバーは:"+num);
System.out.println("車のガソリン量は:"+gas);
}
}

class Sample
{
public static void main(String[] args)
{
//クラスメソッドを呼び出す
Car.showSum();

//オブジェクトを作成する(インスタンス変数・メソッドの呼び出しが可能に)
Car car1 = new Car();
car1.setCar(4545,69.1);

Car.showSum();

Car car2 = new Car();
car2.setCar(Car.NUMBER ,19.5);

Car.showSum();
}
}

実行結果

車は全部で0台あります。
車を作成しました。
ナンバーを4545、ガソリン量を69.1にしました。
車は全部で1台あります。
車を作成しました。
ナンバーを9999、ガソリン量を19.5にしました。
車は全部で2台あります。

◆クラスメソッドについての注意

this. という指定について。
インスタンスメソッド内では使えるが、
クラスメソッド内では使えない。

また、クラスメソッド内ではインスタンス変数・メソッドにアクセスすることは出来ない。
(インスタンス変数・メソッドはオブジェクトが作成されないと指定できないため)

※なくても大丈夫なところからなければいけないところへのアクセスは禁止

public static void showSum()
{
System.out.println("このような書き方はアウトです→"+ this.sum);
System.out.println("このような書き方もアウトです→"+ num);

◆ローカル変数

インスタンス変数・クラス変数に対し、メソッド内で宣言された変数をローカル変数という。ローカル変数はそのメソッド内でしか使えない。また、メソッドが呼び出されるたびに初期化される。

プログラミング | trackback(0) | comment(0) |


<<三角関係 | TOP | sense of wondor>>

comment











管理人のみ閲覧OK


trackback

trackback_url
http://kononushi.blog46.fc2.com/tb.php/504-c6b16dc6

| TOP |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。