import java.util.ArrayList; public class PPAP { public static void main(String[] args) { ArrayList<BaseObj> alist = new ArrayList<BaseObj>(); //可変長配列 Pen pen = new Pen(); Apple apple = null; alist.add(pen); alist.add(new Pineapple()); alist.add(apple = new Apple()); alist.add(pen); for(BaseObj bo: alist) { System.out.print(bo.getName()+"\t"); } System.out.println(""); for(BaseObj bo: alist) { System.out.print(bo.hashCode()+" "); // インスタンス/オブジェクト固有のID } System.out.println(""); System.out.println(""); // 通常の配列Version BaseObj[] ary = new BaseObj[4]; ary[0] = pen; ary[1] = new Pineapple(); ary[2] = apple; ary[3] = pen; for(BaseObj bo: ary) { System.out.print(bo.getName()+"\t"); } System.out.println(""); for(BaseObj bo: ary) { System.out.print(bo.hashCode()+" "); // インスタンス/オブジェクト固有のID } System.out.println(""); System.out.println(""); System.out.println("生成したオブジェクトの総数は?です"); // ?の部分を、数字におきかえてください } } class BaseObj { // インスタンス/オブジェクトが作られたときの「型」=「クラス名」を返す public String getName() { return getClass().getName(); } } class Pen extends BaseObj { } class Pineapple extends BaseObj { } class Apple extends BaseObj { }