public class Main {
public static void main(String[] args) {
// デフォルトコンストラクタãŒå‘¼ã³å‡ºã•れる
Car car1 = new Car();
System.out.println("Car1: Brand = " + car1.getBrand() + ", Model = " + car1.getModel());
// 引数を指定ã—ã¦ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れる
Car car2 = new Car("Toyota", "Camry");
System.out.println("Car2: Brand = " + car2.getBrand() + ", Model = " + car2.getModel());
}
}
class Car {
private String brand;
private String model;
// デフォルトコンストラクタ
public Car() {
this.brand = "Unknown";
this.model = "Unknown";
}
// 引数をå—ã‘å–るコンストラクタ
public Car(String brand, String model) {
this.brand = brand;
this.model = model;
}
// ゲッターメソッド
public String getBrand() {
return brand;
}
public String getModel() {
return model;
}
}
ã“ã®ã‚³ãƒ¼ãƒ‰ã§ã¯ã€main メソッド内㧠Car クラスã®ã‚ªãƒ–ジェクト car1 㨠car2 を生æˆã—ã¦ã„ã¾ã™ã€‚car1 ã®ç”Ÿæˆã§ã¯ãƒ‡ãƒ•ォルトコンストラクタãŒã€car2 ã®ç”Ÿæˆã§ã¯å¼•数を指定ã—ãŸã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れã¦ã„ã¾ã™ã€‚ãれãžã‚Œã®ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’å‡ºåŠ›ã—ã¦ã€ã©ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れãŸã‹ã‚’確èªã§ãã¾ã™ã€‚
コンストラクタã®å‘¼ã³å‡ºã—
「コンストラクタã®å‘¼ã³å‡ºã—ã€ã¯ã€ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’生æˆã™ã‚‹éš›ã«ã€ãã®ã‚¯ãƒ©ã‚¹ã«å®šç¾©ã•れã¦ã„るコンストラクタを呼ã³å‡ºã™ãƒ—ãƒã‚»ã‚¹ã‚’指ã—ã¾ã™ã€‚コンストラクタã¯ã€ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒç”Ÿæˆã•れるã¨ãã«è‡ªå‹•çš„ã«å®Ÿè¡Œã•れã€ãã®ã‚ªãƒ–ジェクトã®åˆæœŸåŒ–を行ã„ã¾ã™ã€‚
以下ã«ã€ã€Œã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã®å‘¼ã³å‡ºã—ã€ã®è¦ç‚¹ã‚’解説ã—ã¾ã™ã€‚
1.コンストラクタã®ç›®çš„:
コンストラクタã¯ã€ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’åˆæœŸåŒ–ã™ã‚‹ãŸã‚ã®ç‰¹åˆ¥ãªãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚インスタンスãŒç”Ÿæˆã•れるã¨ã€ãã®ã‚¯ãƒ©ã‚¹ã«å®šç¾©ã•れãŸã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れã€ã‚ªãƒ–ジェクトã®åˆæœŸçŠ¶æ…‹ãŒè¨å®šã•れã¾ã™ã€‚
2.デフォルトコンストラクタ:
クラスã«ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå®šç¾©ã•れã¦ã„ãªã„å ´åˆã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒæä¾›ã•れã¾ã™ã€‚デフォルトコンストラクタã¯å¼•æ•°ã‚’å—ã‘å–らãšã€åŸºæœ¬çš„ãªåˆæœŸåŒ–を行ã„ã¾ã™ã€‚
3.引数をå—ã‘å–るコンストラクタ:
引数をå—ã‘å–るコンストラクタã¯ã€ç‰¹å®šã®å¼•æ•°ã‚’å—ã‘å–ã£ã¦ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’åˆæœŸåŒ–ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ç”Ÿæˆã•れるオブジェクトã®çŠ¶æ…‹ã‚’å¤–éƒ¨ã‹ã‚‰æŒ‡å®šã§ãã¾ã™ã€‚
4.コンストラクタã®å‘¼ã³å‡ºã—:
インスタンスを生æˆã™ã‚‹éš›ã«ã¯ã€new ã‚ーワードを使用ã—ã¦ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã—ã¾ã™ã€‚例ãˆã°ã€Car クラスã®å ´åˆã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
Car car = new Car(); // デフォルトコンストラクタã®å‘¼ã³å‡ºã—
ã¾ãŸã¯
Car car = new Car("Toyota", "Camry"); // 引数をå—ã‘å–るコンストラクタã®å‘¼ã³å‡ºã—
ã“ã®å‘¼ã³å‡ºã—ã«ã‚ˆã‚Šã€Car クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå®Ÿè¡Œã•れã€ã‚ªãƒ–ジェクトãŒåˆæœŸåŒ–ã•れã¾ã™ã€‚
5.複数ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿:
クラス内ã«è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå®šç¾©ã•れã¦ã„ã‚‹å ´åˆã€ç•°ãªã‚‹å¼•æ•°ã®çµ„ã¿åˆã‚ã›ã«å¯¾å¿œã§ãã¾ã™ã€‚オーãƒãƒ¼ãƒãƒ¼ãƒ‰ã•れãŸã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’使用ã™ã‚‹ã“ã¨ã§ã€æ§˜ã€…ãªåˆæœŸåŒ–ã®ãƒ‘ターンã«å¯¾å¿œã§ãã¾ã™ã€‚
コンストラクタã®å‘¼ã³å‡ºã—ã«ã‚ˆã£ã¦ã€ã‚ªãƒ–ジェクトãŒç”Ÿæˆã•れã€ãã®ã‚ªãƒ–ジェクトã®åˆæœŸçŠ¶æ…‹ãŒè¨å®šã•れã¾ã™ã€‚ã“れã¯ã€Javaã«ãŠã„ã¦ã‚ªãƒ–ジェクト指å‘プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ã®ä¸ã§é‡è¦ãªæ¦‚念ã®ä¸€ã¤ã§ã™ã€‚
「011 コンストラクタã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント