public class Person {
// フィールド: åå‰ã¨å¹´é½¢
private String name;
private int age;
// デフォルトコンストラクタ
public Person() {
// デフォルトã®åˆæœŸå€¤ã‚’è¨å®š
this.name = "未è¨å®š";
this.age = 0;
}
// 引数をå—ã‘å–るコンストラクタ
public Person(String name, int age) {
// å¼•æ•°ã§æ¸¡ã•れãŸå€¤ã§ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’åˆæœŸåŒ–
this.name = name;
this.age = age;
}
// ä»–ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚„コードã¯çœç•¥
}
ã“ã®è§£ç”例ã§ã¯ã€ãƒ‡ãƒ•ォルトコンストラクタã¨å¼•æ•°ã‚’å—ã‘å–るコンストラクタã®ä¸¡æ–¹ãŒå®šç¾©ã•れã¦ã„ã¾ã™ã€‚デフォルトコンストラクタã§ã¯ã€åå‰ã‚’ “未è¨å®š”ã€å¹´é½¢ã‚’ 0 ã§åˆæœŸåŒ–ã—ã€å¼•æ•°ã‚’å—ã‘å–るコンストラクタã§ã¯å¼•æ•°ã§æ¸¡ã•れãŸå€¤ã§åˆæœŸåŒ–ã—ã¦ã„ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€Person ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’æ§˜ã€…ãªæ–¹æ³•ã§åˆæœŸåŒ–ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
引数をæŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
「引数をæŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã€ã¯ã€ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’生æˆã™ã‚‹éš›ã«ã€å¤–部ã‹ã‚‰æ¸¡ã•れãŸå¼•数を使用ã—ã¦ã‚ªãƒ–ジェクトã®åˆæœŸåŒ–を行ã†ç‰¹æ®Šãªãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚引数をæŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ã‚ªãƒ–ジェクトを生æˆã™ã‚‹éš›ã«å¿…è¦ãªæƒ…å ±ã‚’æä¾›ã§ãã¾ã™ã€‚
以下ã«ã€å¼•æ•°ã‚’æŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã«é–¢ã™ã‚‹è¦ç‚¹ã‚’解説ã—ã¾ã™ã€‚
1.æ§‹æ–‡:
引数をæŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€ãƒ¡ã‚½ãƒƒãƒ‰ã®ã‚ˆã†ã«å®šç¾©ã•れã¾ã™ãŒã€æˆ»ã‚Šå€¤ã®åž‹ã¯ã‚りã¾ã›ã‚“。コンストラクタåã¯ã‚¯ãƒ©ã‚¹åã¨åŒã˜ã«ã—ã¾ã™ã€‚引数ã¯ã‚«ãƒ³ãƒžã§åŒºåˆ‡ã£ã¦æŒ‡å®šã—ã¾ã™ã€‚
public class MyClass {
// 引数をæŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
public MyClass(Type1 arg1, Type2 arg2, ...) {
// åˆæœŸåŒ–処ç†
}
}
2.åˆæœŸåŒ–処ç†:
引数をæŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿å†…ã§ã€å¼•æ•°ã§å—ã‘å–ã£ãŸå€¤ã‚’使用ã—ã¦ã‚ªãƒ–ジェクトã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚„çŠ¶æ…‹ã‚’åˆæœŸåŒ–ã—ã¾ã™ã€‚ã“ã®åˆæœŸåŒ–処ç†ã«ã‚ˆã‚Šã€ã‚ªãƒ–ジェクトãŒç”Ÿæˆã•れるã¨ãã«å¿…è¦ãªæƒ…å ±ã‚’æŒã£ãŸçŠ¶æ…‹ã«ãªã‚Šã¾ã™ã€‚
public class Person {
// フィールド: åå‰ã¨å¹´é½¢
private String name;
private int age;
// 引数をå—ã‘å–るコンストラクタ
public Person(String name, int age) {
// å¼•æ•°ã§æ¸¡ã•れãŸå€¤ã§ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’åˆæœŸåŒ–
this.name = name;
this.age = age;
}
}
3.オーãƒãƒ¼ãƒãƒ¼ãƒ‰:
クラスã«ã¯è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã§ãã¾ã™ã€‚ã“ã®è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ã†ã¡ã€å¼•æ•°ã®åž‹ã‚„æ•°ãŒç•°ãªã‚‹ã‚‚ã®ã‚’定義ã™ã‚‹ã“ã¨ã‚’コンストラクタã®ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ¼ãƒ‰ã¨å‘¼ã³ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ç•°ãªã‚‹æ–¹æ³•ã§ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’åˆæœŸåŒ–ã§ãã¾ã™ã€‚
public class Person {
// フィールド: åå‰ã¨å¹´é½¢
private String name;
private int age;
// 引数をå—ã‘å–るコンストラクタ
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 別ã®å¼•æ•°ã‚’å—ã‘å–るコンストラクタ (オーãƒãƒ¼ãƒãƒ¼ãƒ‰)
public Person(String name) {
this.name = name;
this.age = 0; // å¹´é½¢ã¯ãƒ‡ãƒ•ォルトã§0ã«è¨å®š
}
}
引数をæŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã¯ã€ã‚¯ãƒ©ã‚¹ã®æŸ”軟性を高ã‚ã€ç•°ãªã‚‹åˆæœŸåŒ–ã®è¦ä»¶ã«å¯¾å¿œã§ãるよã†ã«ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€åŒã˜ã‚¯ãƒ©ã‚¹ã‚’様々ãªçŠ¶æ…‹ã§åˆ©ç”¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
「011 コンストラクタã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント