å•題
以下㮠Student クラスãŒã‚りã¾ã™ã€‚ã“ã®ã‚¯ãƒ©ã‚¹ã«ã¯è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒã‚りã¾ã™ã€‚main メソッドã§ã“ã®ã‚¯ãƒ©ã‚¹ã®ã‚ªãƒ–ジェクトを生æˆã—ã€ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒã‚§ãƒ¼ãƒ³ãŒæ£ã—ã動作ã—ã¦ã„ã‚‹ã“ã¨ã‚’確èªã—ã¦ãã ã•ã„。
public class Student {
private String name;
private int age;
private String major;
// デフォルトコンストラクタ
public Student() {
this.name = "Unknown";
this.age = 18;
this.major = "Undeclared";
}
// 引数をå—ã‘å–るコンストラクタ1
public Student(String name) {
this(); // デフォルトコンストラクタを呼ã³å‡ºã™
this.name = name;
}
// 引数をå—ã‘å–るコンストラクタ2
public Student(String name, int age, String major) {
this(name); // 別ã®å¼•æ•°ã‚’å—ã‘å–るコンストラクタを呼ã³å‡ºã™
this.age = age;
this.major = major;
}
// ゲッターメソッド(çœç•¥ï¼‰
}
コンストラクタãƒã‚§ãƒ¼ãƒ³ã¨ã¯
「コンストラクタãƒã‚§ãƒ¼ãƒ³ã€ã¨ã¯ã€åŒã˜ã‚¯ãƒ©ã‚¹å†…ã§è¤‡æ•°ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒãŠäº’ã„ã«å‘¼ã³å‡ºã—åˆã†ä»•組ã¿ã‚’指ã—ã¾ã™ã€‚ã“れã«ã‚ˆã‚Šã€ç•°ãªã‚‹å¼•æ•°ãƒªã‚¹ãƒˆã‚„åˆæœŸåŒ–処ç†ã‚’æŒã¤ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’効果的ã«å†åˆ©ç”¨ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚コンストラクタãƒã‚§ãƒ¼ãƒ³ã¯ã€ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ¼ãƒ‰ã•れãŸã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒåŒã˜ã‚¯ãƒ©ã‚¹å†…ã§ãŠäº’ã„ã«å‘¼ã³å‡ºã•れるã“ã¨ã§å½¢æˆã•れã¾ã™ã€‚
ヒント
public class Main {
public static void main(String[] args) {
// デフォルトコンストラクタãŒå‘¼ã³å‡ºã•れる
Person person1 = new Person();
System.out.println("Person1: Name = " + person1.getName() + ", Age = " + person1.getAge());
// 引数を指定ã—ã¦ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れる
Person person2 = new Person("John");
System.out.println("Person2: Name = " + person2.getName() + ", Age = " + person2.getAge());
// 別ã®å¼•数を指定ã—ã¦ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãŒå‘¼ã³å‡ºã•れる
Person person3 = new Person("Alice", 25);
System.out.println("Person3: Name = " + person3.getName() + ", Age = " + person3.getAge());
}
}
class Person {
private String name;
private int age;
// デフォルトコンストラクタ
public Person() {
this("Unknown", 18); // 別ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™
}
// 引数をå—ã‘å–るコンストラクタ1
public Person(String name) {
this(name, 18); // 別ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™
}
// 引数をå—ã‘å–るコンストラクタ2
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// ゲッターメソッド(çœç•¥ï¼‰
}
ã“ã®ä¾‹ã§ã¯ã€Person クラスãŒãƒ‡ãƒ•ォルトコンストラクタã¨2ã¤ã®å¼•æ•°ã‚’å—ã‘å–るコンストラクタをæŒã¡ã€ãれãžã‚ŒãŒåˆ¥ã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’呼ã³å‡ºã™å½¢ã§ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ãƒã‚§ãƒ¼ãƒ³ãŒæ§‹æˆã•れã¦ã„ã¾ã™ã€‚main メソッド内ã§ã‚ªãƒ–ジェクトを生æˆã—ã¦ã€ãれãžã‚Œã®ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’å‡ºåŠ›ã—ã¦ã„ã¾ã™ã€‚
→解ç”例
「011 コンストラクタã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント