Javaの開発をしたことがないので、やったことをまとめていこうと思います。
基本的なことをやっていくので初心者でも出来るレベルだと思います。
コンストラクタ
[MyAge.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// パッケージの宣言 package chapter_4_13; /** * MyAgeクラス */ public class MyAge { // 変数の定義 int age; String name; // コンストラクタ public MyAge() { age = 20; name = "学園太郎"; } // showAgeメソッド public void showAge() { System.out.println(name + "です。" + age + "歳です。"); } } |
[Rensyu413_01.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// パッケージの宣言 package chapter_4_13; /** * Rensyu413_01クラス */ public class Rensyu413_01 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { // インスタンスを生成し、コンストラクタを呼び出し初期値の設定 MyAge inst = new MyAge(); // メソッドの呼び出し inst.showAge(); } } |
[表示結果]
1 |
学園太郎です。20歳です。 |
[Tashizan.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
// パッケージの宣言 package chapter_4_13; /** * Tashizanクラス */ public class Tashizan { // 変数の定義 int sum = 0; int su; // コンストラクタ public Tashizan(int su) { // 引数の名前とフィールドの名前がsuでかぶってしますので、thisキーワードを修飾する this.su = su; } // addメソッド public void add() { sum = sum + su; System.out.println("sum=" + sum); } } |
[Rensyu413_02.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
// パッケージの宣言 package chapter_4_13; /** * Rensyu413_02クラス */ public class Rensyu413_02 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { System.out.println("2ずつ足す"); // インスタンスを生成し、コンストラクタを呼び出し2を渡す Tashizan tasu2 = new Tashizan(2); // メソッドの呼び出し tasu2.add(); tasu2.add(); tasu2.add(); System.out.println("3ずつ足す"); // インスタンスを生成し、コンストラクタを呼び出し3を渡す Tashizan tasu3 = new Tashizan(3); // メソッドの呼び出し tasu3.add(); tasu3.add(); tasu3.add(); } } |
[表示結果]
1 2 3 4 5 6 7 8 |
2ずつ足す sum=2 sum=4 sum=6 3ずつ足す sum=3 sum=6 sum=9 |
[Runner.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
// パッケージの宣言 package chapter_4_13; /** * コンストラクタのオーバーロード */ public class Runner { String name; int dist; Runner() { name = "Nanashi"; dist = 10; } Runner(String name) { // 引数なしのコンストラクタを自ら呼び出す this(); // 名前を設定しなおしている this.name = name; } Runner(String name, int dist) { this.name = name; this.dist = dist; } // runningメソッド public void running() { System.out.println(name + "は" + dist + "km走りました。"); } } |
[Rensyu413_03.java]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// パッケージの宣言 package chapter_4_13; /** * Rensyu413_03クラス */ public class Rensyu413_03 { // mainメソッド(最初に実行される特別なメソッド) public static void main(String[] args) { // フィールドの定義 Runner man1, man2, man3; // インスタンスを生成し、コンストラクタを呼び出し man1 = new Runner(); man1.running(); // インスタンスを生成し、コンストラクタを呼び出し(純一郎)を渡す man2 = new Runner("純一郎"); man2.running(); // インスタンスを生成し、コンストラクタを呼び出し(普三, 20)を渡す man3 = new Runner("普三", 20); man3.running(); } } |
[表示結果]
1 2 3 |
Nanashiは10km走りました。 純一郎は10km走りました。 普三は20km走りました。 |
★ポイント
- コンストラクタはインスタンスの生成時に呼び出される特別なメソッドであり、フィールドの初期化処理に利用される。
- コンストラクタの名称はクラス名と同じになる。したがってメソッドの一種ではあるが先頭は大文字となる。
javaでポイントになるものをまとめてみた newを使用したインスタンスの生成
javaでポイントになるものをまとめてみた 引数/戻り値を使用する
javaでポイントになるものをまとめてみた インスタンス変数とクラス変数
javaでポイントになるものをまとめてみた インターフェース
javaでポイントになるものをまとめてみた ポリモルフィズム
javaでポイントになるものをまとめてみた コレクションクラス