第14章
コード14-01
Empty.java
Main.java
public class Main {
public static void main(String[] args) {
Empty e = new Empty();
String s = e.toString();
System.out.println(s);
}
}
コード14-02
Empty.java
Hero.java
public class Hero {
String name;
int hp;
/* … */
}
Main.java
public class Main {
public static void main(String[] args) {
Object o1 = new Empty();
Object o2 = new Hero();
Object o3 = "こんにちは";
}
}
コード14-03
Printer.java
public class Printer {
public void printAnything(Object o) {
// 何型でもいいから、引数を1つ受け取り画面に表示
System.out.println(o.toString());
}
}
コード14-04
Hero.java
public class Hero {
String name;
int hp;
/* … */
}
Main.java
public class Main {
public static void main(String[] args) {
Hero h = new Hero();
h.name = "ミナト";
h.hp = 100;
System.out.println(h.toString());
}
}
コード14-05
Hero.java
public class Hero {
String name;
int hp;
/* … */
public String toString() {
return "名前:" + this.name + "/HP:" + this.hp;
}
}
Main.java
public class Main {
public static void main(String[] args) {
Hero h = new Hero();
h.name = "ミナト";
h.hp = 100;
System.out.println(h.toString());
}
}
コード14-06
Hero.java
public class Hero {
String name;
int hp;
/* … */
public String toString() {
return "名前:" + this.name + "/HP:" + this.hp;
}
}
Main.java
public class Main {
public static void main(String[] args) {
Hero h1 = new Hero();
h1.name = "ミナト";
h1.hp = 100;
Hero h2 = new Hero();
h2.name = "ミナト";
h2.hp = 100;
if (h1.equals(h2) == true) {
System.out.println("同じ内容です");
} else {
System.out.println("違う内容です");
}
}
}
コード14-07
Hero.java
public class Hero {
String name;
int hp;
/* … */
public boolean equals(Object o) {
if (this == o) { return true; }
if (o instanceof Hero) {
Hero h = (Hero)o;
if (this.name.equals(h.name)) {
return true;
}
}
return false;
}
}
Main.java
public class Main {
public static void main(String[] args) {
Hero h1 = new Hero();
h1.name = "ミナト";
h1.hp = 100;
Hero h2 = new Hero();
h2.name = "ミナト";
h2.hp = 100;
if (h1.equals(h2) == true) {
System.out.println("同じ内容です");
} else {
System.out.println("違う内容です");
}
}
}
コード14-08
Hero.java
public class Hero {
String name;
int hp;
int money;
/* … */
}
コード14-09
Hero.java
public class Hero {
String name;
int hp;
static int money;
/* … */
}
コード14-10
Hero.java
public class Hero {
String name;
int hp;
static int money;
/* … */
}
Main.java
public class Main {
public static void main(String[] args) {
Hero h1 = new Hero();
Hero h2 = new Hero();
System.out.println(h1.hp);
System.out.println(Hero.money);
/* … */
}
}
コード14-11
Hero.java
public class Hero {
String name;
int hp;
static int money;
/* … */
}
Main.java
public class Main {
public static void main(String[] args) {
Hero h1 = new Hero();
Hero h2 = new Hero();
Hero.money = 100;
System.out.println(Hero.money);
System.out.println(h1.money);
h1.money = 300;
System.out.println(h2.money);
}
}
コード14-12
Hero.java
public class Hero {
String name;
int hp;
static int money;
/* … */
}
Main.java
public class Main {
public static void main(String[] args) {
// 1人も勇者を生み出していない状況で…
Hero.money = 100;
System.out.println(Hero.money);
}
}
コード14-13
Hero.java
public class Hero {
String name;
int hp;
static int money;
/* … */
static void setRandomMoney() {
Hero.money = (int)(Math.random() * 1000);
}
}
コード14-14
Hero.java
public class Hero {
String name;
int hp;
static int money;
/* … */
static void setRandomMoney() {
Hero.money = (int)(Math.random() * 1000);
}
}
Main.java
public class Main {
public static void main(String[] args) {
Hero.setRandomMoney();
System.out.println(Hero.money);
Hero h1 = new Hero();
System.out.println(h1.money);
}
}
コード14-15
Hero.java
public class Hero {
String name;
int hp;
static int money;
/* … */
static void setRandomMoney() {
Hero.money = (int)(Math.random() * 1000);
System.out.println(this.name + "たちの所持金を初期化しました");
}
}