java これはオーバーロードすればいいのでは?
以下のようなコードについて質問です。
class Person {
public static int count = 0;
public String firstName;
public String middleName;
public String lastName;
public int age;
public double height;
public double weight;
Person(String firstName, String lastName, int age, double height, double weight) {
Person.count++;
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.height = height;
this.weight = weight;
}
Person(String firstName, String middleName, String lastName, int age, double height, double weight) {
this(firstName, lastName, age, height, weight);
this.middleName = middleName;
}
public String fullName() {
if(middleName == null){
return this.firstName + " " + this.lastName;
}else{
return this.firstName + " "+middleName+ ""+ this.lastName;
}
}
fullName() メソッドを条件分岐して、以下のようなメソッドで、ミドルネームを入れるかどうかで、条件分岐するということなのですが…
class Main {
public static void main(String[] args) {
Person person1 = new Person("Kate", "Jones", 27, 1.6, 50.0);
person1.printData();
Person person2 = new Person("John", "Christopher", "Smith", 65, 1.75, 80.0);
person2.printData();
Person.printCount();
}
}
これって、引数にfullNameメソッドに何も指定してなくていいのでしょうか。
疑問に感じてしまいました。
また、同じfullNameメソッドという名前のメソッドで引数でmiddleNameの有無だけ変えてオーバーロードしてはだめなのでしょうか。
お礼
回答どうもありがとうございます。 特別な理由がない限りelseは書かないほうがいいみたいですね。 処理する必要のない例外は何もしないようにすることにします。