public class MyObject {
@Override
public String toString() {
return "This is a MyObject";
}
public static void main(String[] args) {
MyObject myObject = new MyObject();
System.out.println(myObject); // This is a MyObject
}
}
ã“ã®ä¾‹ã§ã¯ã€MyObjectクラスãŒObjectクラスã®toStringメソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã€é©åˆ‡ãªæ–‡å—列を返ã—ã¦ã„ã¾ã™ã€‚mainメソッドã§ã¯ã€System.out.println(myObject)を呼ã³å‡ºã™ã“ã¨ã§ã€toStringメソッドãŒè‡ªå‹•çš„ã«å‘¼ã°ã‚Œã¦ã€ã€ŒThis is a MyObjectã€ã¨ã„ã†æ–‡å—列ãŒè¡¨ç¤ºã•れã¾ã™ã€‚
Objectクラスã®ç¶™æ‰¿
Javaã«ãŠã„ã¦ã€ã™ã¹ã¦ã®ã‚¯ãƒ©ã‚¹ã¯Objectクラスを直接ã¾ãŸã¯é–“接的ã«ç¶™æ‰¿ã—ã¦ã„ã¾ã™ã€‚Objectクラスã¯Javaã®ã‚¯ãƒ©ã‚¹éšŽå±¤ã®æœ€ä¸Šä½ã«ä½ç½®ã—ã€ä»¥ä¸‹ã®ã‚ˆã†ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚
- toString(): ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æ–‡å—列表ç¾ã‚’è¿”ã—ã¾ã™ã€‚通常ã€ã‚¯ãƒ©ã‚¹ã”ã¨ã«ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã€ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æ„味ã®ã‚ã‚‹æ–‡å—列表ç¾ã‚’æä¾›ã—ã¾ã™ã€‚
- equals(Object obj): ä»–ã®ã‚ªãƒ–ジェクトã¨ç‰ã—ã„ã‹ã©ã†ã‹ã‚’判定ã—ã¾ã™ã€‚通常ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚‚クラスã”ã¨ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã¾ã™ã€‚
- hashCode(): オブジェクトã®ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ã‚’è¿”ã—ã¾ã™ã€‚ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ã¯ã€ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルãªã©ã§ã‚ªãƒ–ジェクトを管ç†ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã•れã¾ã™ã€‚
- getClass(): オブジェクトã®ã‚¯ãƒ©ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚
- clone(): オブジェクトã®ã‚³ãƒ”ーを作æˆã—ã¾ã™ã€‚
- finalize(): オブジェクトãŒã‚¬ãƒ™ãƒ¼ã‚¸ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã•れる際ã«å‘¼ã³å‡ºã•れるメソッドã§ã™ã€‚ãŸã ã—ã€éžæŽ¨å¥¨ã¨ãªã£ã¦ãŠã‚Šã€ä»£ã‚りã«
AutoCloseableã‚„try-with-resourcesを使用ã™ã‚‹ã“ã¨ãŒæŽ¨å¥¨ã•れã¦ã„ã¾ã™ã€‚
ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€Javaã®ã‚¯ãƒ©ã‚¹ãŒç‰¹å®šã®å‹•作をã™ã‚‹ãŸã‚ã«åˆ©ç”¨ã•れã¾ã™ã€‚特ã«ã€toStringメソッドã¯ãƒ‡ãƒãƒƒã‚°ã‚„ãƒã‚°å‡ºåŠ›ãªã©ã§é »ç¹ã«ä½¿ç”¨ã•れã€ã‚¯ãƒ©ã‚¹ã”ã¨ã«é©åˆ‡ãªæ–‡å—列表ç¾ã‚’æä¾›ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚
toStringメソッド
toStringメソッドã¯ã€Javaã®Objectクラスã«å®šç¾©ã•れã¦ã„るメソッドã®ä¸€ã¤ã§ã‚りã€ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æ–‡å—列表ç¾ã‚’è¿”ã™å½¹å‰²ã‚’æžœãŸã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€ä¸»ã«ãƒ‡ãƒãƒƒã‚°ã‚„ãƒã‚°å‡ºåŠ›ãªã©ã§ä½¿ç”¨ã•れã€ã‚ªãƒ–ジェクトã®å†…容を人ãŒç†è§£ã—ã‚„ã™ã„å½¢å¼ã§è¡¨ç¤ºã™ã‚‹ãŸã‚ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã¾ã™ã€‚
toStringメソッドã¯ä»¥ä¸‹ã®ã‚ˆã†ã«å®šç¾©ã•れã¦ã„ã¾ã™:
public String toString() {
// ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æ–‡å—列表ç¾ã‚’構築ã—ã¦è¿”ã™
}
デフォルトã®Objectクラスã®å®Ÿè£…ã§ã¯ã€ã‚¯ãƒ©ã‚¹åã¨ã‚ªãƒ–ジェクトã®ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ã®16進数表ç¾ãŒè¿”ã•れã¾ã™ãŒã€é€šå¸¸ã¯ã“れをクラスã”ã¨ã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã€ã‚ˆã‚Šæ„味ã®ã‚ã‚‹æƒ…å ±ã‚’æä¾›ã—ã¾ã™ã€‚
例ãˆã°ã€ä»¥ä¸‹ã¯Personクラスã§toStringメソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ä¾‹ã§ã™:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + '}';
}
}
System.out.println メソッドã¯ã€å¼•æ•°ã¨ã—ã¦ä¸Žãˆã‚‰ã‚ŒãŸã‚ªãƒ–ジェクト㮠toString メソッドã®çµæžœã‚’出力ã—ã¾ã™ã€‚ã“れã¯ã€Javaè¨€èªžã®æ¨™æº–çš„ãªå‡ºåŠ›æ‰‹æ®µã§ã™ã€‚
具体的ã«ã¯ã€System.out.println ãŒã‚ªãƒ–ジェクトを表示ã—よã†ã¨ã™ã‚‹ã¨ã€å¯¾è±¡ã®ã‚ªãƒ–ジェクト㮠toString メソッドãŒå‘¼ã³å‡ºã•れã¾ã™ã€‚デフォルト㮠Object クラスã§ã¯ã€toString メソッドã¯ã‚ªãƒ–ジェクトã®ã‚¯ãƒ©ã‚¹åã¨ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ã®16進数表ç¾ã‚’è¿”ã—ã¾ã™ãŒã€ã‚¯ãƒ©ã‚¹ãŒ toString メソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã‚‹å ´åˆã¯ã€ãã®å®Ÿè£…ãŒä½¿ã‚れã¾ã™ã€‚
上記ã®Personクラスã®ä¾‹ã§ã¯ã€ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れãŸtoStringメソッドを使用ã™ã‚‹ã¨ã€System.out.println(person)ãªã©ã§ç›´æ„Ÿçš„ãªè¡¨ç¤ºãŒå¾—られã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’é©åˆ‡ã«å®Ÿè£…ã™ã‚‹ã“ã¨ã§ã€ã‚³ãƒ¼ãƒ‰ã®ãƒ‡ãƒãƒƒã‚°ã‚„ãƒã‚°å‡ºåŠ›ãŒã‚ˆã‚ŠåŠ¹æžœçš„ã«è¡Œãˆã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
「014 継承ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント