Report#5

戻る

プログラム
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は、メソッドの外部で定義
されているのでクラス変数。