public class Person {
// フィールド: åå‰ã¨å¹´é½¢
private String name;
private int age;
// デフォルトコンストラクタ
public Person() {
// デフォルトã®åˆæœŸå€¤ã‚’è¨å®š
this.name = "未è¨å®š";
this.age = 0;
}
// ä»–ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚„コードã¯çœç•¥
}
ã“ã®ä¾‹ã§ã¯ã€ãƒ‡ãƒ•ォルトコンストラクタã§åå‰ã‚’ “未è¨å®š”ã€å¹´é½¢ã‚’ 0 ã§åˆæœŸåŒ–ã—ã¦ã„ã¾ã™ã€‚デフォルトコンストラクタãŒå‘¼ã°ã‚Œã‚‹ã¨ã€æ–°ã—ã Person オブジェクトãŒä½œæˆã•れã€ãã®éš›ã« name 㨠age フィールドãŒã“ã®ã‚ˆã†ã«åˆæœŸåŒ–ã•れã¾ã™ã€‚
デフォルトコンストラクタ
デフォルトコンストラクタ(Default Constructor)ã¯ã€å¼•æ•°ã‚’æŒãŸãªã„コンストラクタã®ã“ã¨ã‚’指ã—ã¾ã™ã€‚クラスãŒã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã—ã¦ã„ãªã„å ´åˆã€Javaコンパイラã¯è‡ªå‹•çš„ã«ãƒ‡ãƒ•ォルトコンストラクタをæä¾›ã—ã¾ã™ã€‚デフォルトコンストラクタã¯ã€ã‚¯ãƒ©ã‚¹åã¨åŒã˜åå‰ã‚’æŒã¡ã€å¼•æ•°ãªã—ã§å‘¼ã³å‡ºã•れã¾ã™ã€‚
以下ã«ã€ãƒ‡ãƒ•ォルトコンストラクタã«é–¢ã™ã‚‹é‡è¦ãªãƒã‚¤ãƒ³ãƒˆã‚’解説ã—ã¾ã™ã€‚
1.自動生æˆ:
ã‚¯ãƒ©ã‚¹ãŒæ˜Žç¤ºçš„ã«ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã—ã¦ã„ãªã„å ´åˆã€JavaコンパイラãŒãƒ‡ãƒ•ォルトコンストラクタを自動的ã«ç”Ÿæˆã—ã¾ã™ã€‚ãŸã ã—ã€ã‚¯ãƒ©ã‚¹ãŒå°‘ãªãã¨ã‚‚1ã¤ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã—ã¦ã„ã‚‹å ´åˆã¯ã€ãƒ‡ãƒ•ォルトコンストラクタã¯è‡ªå‹•生æˆã•れã¾ã›ã‚“。
2.引数ãªã—:
デフォルトコンストラクタã¯å¼•æ•°ã‚’å—ã‘å–りã¾ã›ã‚“。ãã®ãŸã‚ã€ã‚¯ãƒ©ã‚¹å†…ã§å®£è¨€ã•れã¦ã„ã‚‹ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’åˆæœŸåŒ–ã™ã‚‹ã ã‘ã®åŸºæœ¬çš„ãªåˆæœŸåŒ–処ç†ã‚’行ã„ã¾ã™ã€‚
3.åˆæœŸåŒ–ã®å½¹å‰²:
デフォルトコンストラクタã¯ã€ã‚ªãƒ–ジェクトãŒç”Ÿæˆã•れる際ã«ã€ãã®ã‚ªãƒ–ジェクトã®åˆæœŸåŒ–を担当ã—ã¾ã™ã€‚フィールドã®åˆæœŸå€¤ã‚’è¨å®šã—ãŸã‚Šã€ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’å®‰å®šã—ãŸã‚‚ã®ã«ã™ã‚‹ãŸã‚ã®å½¹å‰²ãŒã‚りã¾ã™ã€‚
4.手動ã§å®šç¾©:
プãƒã‚°ãƒ©ãƒžãŒã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’手動ã§å®šç¾©ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚ã“ã®å ´åˆã€å¼•æ•°ã‚’æŒãŸãªã„コンストラクタを定義ã—ã¦ã€ç‰¹å®šã®åˆæœŸåŒ–処ç†ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
public class MyClass {
// ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®æ‰‹å‹•定義
public MyClass() {
// åˆæœŸåŒ–処ç†
}
}
5.オブジェクトã®ç”Ÿæˆ:
デフォルトコンストラクタã¯ã€new ã‚ーワードを使用ã—ã¦ã‚ªãƒ–ジェクトを生æˆã™ã‚‹éš›ã«å‘¼ã³å‡ºã•れã¾ã™ã€‚
public class MyClass {
// ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®æ‰‹å‹•定義
public MyClass() {
// åˆæœŸåŒ–処ç†
}
}
デフォルトコンストラクタã¯ã€ç‰¹ã«åˆå¦è€…ã«ã¨ã£ã¦ã¯è‡ªå‹•çš„ã«æä¾›ã•れるã“ã¨ãŒå¤šã„ãŸã‚ã€æœ€åˆã«ç†è§£ã™ã‚‹ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®ä¸€ã¤ã§ã™ã€‚クラスãŒç‰¹å®šã®åˆæœŸåŒ–処ç†ã‚’å¿…è¦ã¨ã™ã‚‹å ´åˆã¯ã€è‡ªåˆ†ã§ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’定義ã—ã¦ãã®å‡¦ç†ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚
「011 コンストラクタã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント