プログラム
01. class other {
02. static int zeikomi;
03. private float zeiritu;
04. other(){ //コンストラクタ、引数なし
05. zeikomi = 11000;
06. zeiritu = 0.05f;
07. }
08. int other2(){ //メソッドother2()、引数なし
09. int zeinuki;
10. zeinuki=(int)(zeikomi/(1.0+zeiritu));
11. return zeinuki;
12. }
13. int other2(int suuryou){ //メソッドother2、引数はsuuryou
14. int syoukei;
15. syoukei = zeikomi * suuryou;
16. return syoukei;
17. }
18. }
19.
20. class re05 {
21. public static void main(String[] argv){
22. other obj1 = new other();
23. int zeinuki = obj1.other2();
24. int suuryou = 4;
25. int syoukei = obj1.other2(suuryou);
26. System.out.println("zeinuki = " + zeinuki);
27. System.out.println("zeikomi = " + obj1.zeikomi);
28. System.out.println("suuryou = " + suuryou);
29. System.out.println("syoukei = " + syoukei);
30. }
31. }
実行結果
zeinuki = 10476
zeikomi = 11000
suuryou = 4
syoukei = 44000
02行目:静的変数zeikomiを定義している。静的変数とは、クラス内の全てのオブジェクトから共有される変数である。
03行目:privateにより、同じクラスからしかアクセスできない変数zeirituを定義している。
クラスと同じ名前のメソッドをコンストラクタというので、other(){}は、コンストラクタである。
クラス内に同じ名前のメソッドを定義する事をオーバーロードというので、int other2()とint other2(int suuryou)は
オーバーロードである。
メソッドが値を返す場合、11行目や16行目のようにreturnを付加する。
22行目は、クラスotherのオブジェクト・obj1を生成している。
23行目は、引数のないother2()を実行する。
25行目は、引数がsuuryouのother2()を実行する。
syoukeiとzeinukiは、メソッドの内部で定義されているのでローカル変数。zeikomiとzeirituは、メソッドの外部で定義
されているのでクラス変数。