Bellow是一個我在Tutorials Points上找到的例子,它是構造函數的一個例子。我得到了他們大部分,但我只是不明白爲什麼你需要一個構造函數和的一種方法。構造函數和方法之間的區別
public Puppy(String name){
System.out.println("Passed Name is :" + name);
}
我的問題是,什麼阻止你這樣做呢?
public static void Puppy(String name){
System.out.println("Passed Name is: "+name);
}
難道這兩個人不會一次做同樣的事情嗎?
下面是完整的程序供參考:
public class Puppy {
int puppyAge;
public Puppy(String name) {
System.out.println("Passed Name is :" + name);
}
public void setAge(int age) {
puppyAge = age;
}
public int getAge() {
System.out.println("Puppy's age is :" + puppyAge);
//what does this return do? since the puppyAge is already printed above.
return puppyAge;
}
public static void main(String []args){
Puppy myPuppy = new Puppy("tommy");
myPuppy.setAge(2);
myPuppy.getAge();
System.out.println("Variable Value :" + myPuppy.puppyAge);
}
}
哪種方法做你相信是複製構造的工作?只有構造函數和其他方法執行相同的任務時,其中一個纔是不必要的。然而,在這種情況下,構造函數並沒有完成它應該做的所有事情 - 特別是構造函數應該設置類中所有成員變量的值(並且不設置puppyAge,因此實例處於未定義狀態狀態後立即建設),並沒有使用小狗的名稱來設置變量(所以爲什麼它提供了小狗的名字呢?)。 – Simon 2014-11-09 02:25:40