import java.util.ArrayList; public class Onigiri { static int count = 0; //つくったおにぎりの数をカウントする static void printCount(){ System.out.println(count + "個のおにぎりをつくりました"); } static ArrayList<Onigiri> all; static { all = new ArrayList<Onigiri>(); } public static void main(String[] args) { Onigiri ume = new Onigiri("梅", true); System.out.println("ume = " + ume.toString()); System.out.println(count + "個のおにぎりをつくりました"); System.out.println( new YakiOnigiri().toString() ); } // フィールド/メンバ=データの詳細 String gu; /* おにぎりの具名 */ boolean withNori; /* 海苔がついているか? true / false */ int shape; /* 0:丸, 1:俵型, 3:三角形 */ // コンストラクタ=データ製造機 public Onigiri() { gu = "無し(塩むすび)"; withNori = false; shape = 3; Onigiri.count++; Onigiri.all.add(this); } public Onigiri(String _gu) { this(); gu = _gu; } public Onigiri(String gu, int shape) { this(gu); this.shape = shape; } public Onigiri(String gu, boolean wnori) { this(gu); withNori = wnori; } public Onigiri(String gu, boolean wnori, int shape) { this(gu, wnori); this.shape = shape; } // メソッドの役割:(1) データの修正・更新をする (2) データに関する情報を出力 (3) データに関する処理 public void setWithNori(boolean wnori) { withNori = wnori; } public String toString() { String str = "具は " + gu + " で、"; switch (shape) { case 0: str = str + "丸型で、"; break; case 1: str = str + "俵型で、"; break; case 3: str = str + "三角形で、"; break; } str = str + (withNori ? "海苔付き" : "海苔なし"); return str; } }