public class Person {
private int age;
public Person(int initialAge) {
if (initialAge<= 0) {
System.out.println("Age is not valid, setting age to 0.");
}
else {
age = initialAge;
}
// Add some more code to run some checks on initialAge
}
public void amIOld() {
if (age < 13) {
System.out.print("You are young.");
}
else if (age >= 13 && age < 18) {
System.out.print("You are a teenager.");
}
else {
System.out.print("You are old.");
}
// Write code determining if this person's age is old and print the correct statement:
System.out.println(/*Insert correct print statement here*/);
}
public void yearPasses() {
age += 1;
}
public static void main(String[] args {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int i = 0; i < T; i++) {
int age = sc.nextInt();
Person p = new Person(age);
p.amIOld();
for (int j = 0; j < 3; j++) {
p.yearPasses();
}
p.amIOld();
System.out.println();
}
sc.close();
}
}
在上面的代碼中,當使用參數創建person類的實例時,它會自動調用類中的Person方法嗎?名稱與其類相同的方法?
是代碼 Person p = new Person(age); 構造函數或方法調用?這是兩個嗎? 使用與班級同名的方法的目的是什麼? 它的功能如何?
查找 「構造」。這就是這個「方法具有相同的名稱作爲類」是。 –
從概念上講,構造函數不是方法,即使它看起來很像一個。想想一個構造函數的代碼塊特殊的被稱爲初始化一個新的對象。 – Jesper