我正在學習Java。使用new初始化一個變量,之後是賦值並僅初始化賦值,是否有區別?
我有一個自定義的類,它有一個屬性:
public class Person{
private String name;
}
我有另一個類,在那裏我做:
public class foo{
private Person guy;
public void setGuy(Person guy){
this.guy = guy;
}
public Person getGuy(){
return guy;
}
void someMethod(){
Person anotherGuy = new Person();
anotherGuy = getGuy();
}
}
我很困惑,當我使用getGuy()
方法。 我認爲,當我這樣做:
Person anotherGuy = new Person();
anotherGuy = getGuy();
我創建一個新的對象,它具有相同的值的傢伙。但看起來anotherGuy實際上是一個指向傢伙的指針。 所以
Person anotherGuy = getGuy();
和上面的2行,做同樣的事情?我很困惑。另外,如何在內存中創建一個全新的對象?
人anotherGuy =新的Person();應該是「Person anotherGuy = new Person();」 - 這不是你的問題的答案,而是一個建議:) – doNotCheckMyBlog
thanks..corrected! – rgamber
並且返回值意味着方法聲明中的對象,所以public guy getGuy(),應該是public getGuy():)對不起,不是智慧,但它是好的,如果你開始練習代碼約定:) – doNotCheckMyBlog