public class Actor { String name = ""; public void showName() { System.out.println(name); } void getItem(Item item) { System.out.println(name + " は " + item.toString() + " を受け取った。"); } @Override public String toString() { return name; } boolean isOld = false; // 年をとるとtrueに設定 // isOldがtrueなら年をとる void checkOld() { if (this.isOld) { System.out.println(name + " は老人になってしまった。"); } } } class Urashima extends Actor { Tamatebako tamatebako; Urashima() { name = "浦島太郎"; } // 誰かを助けるメソッド void rescueSomeone(Actor someone) { System.out.println(this.name + " は " + someone.toString() + " を助けた。"); } // 道具を手に入れるメソッド void getItem(Item item) { super.getItem(item); } // 箱を開けるメソッド void openBox(Item item) { System.out.println(this.name + " は " + item.toString() + " を開けた。"); // 開けたのが玉手箱なら年をとる if (item.name == "玉手箱") { this.isOld = true; } } } class Kame extends Actor { Kame() { name = "亀"; } // 誰かを竜宮城に連れていくメソッド void gotoRyuuguujou(Actor someone) { System.out.println(this.name + " は "+ someone.toString() +" を竜宮城に連れて行った。"); } } class Childlen extends Actor { Childlen() { name = "子供たち"; } // 誰かをいじめるメソッド void hit(Actor someone) { System.out.println(this.name + " は " + someone.toString() + " をいじめている。"); } } class Otohime extends Actor { Tamatebako tamatebako; Otohime() { name = "乙姫"; } // 誰かをおもてなしするメソッド void omotenashi(Actor someone) { System.out.println(this.name + " は " + someone.toString() + " をもてなした。"); } }