網站的URL
http://www.codelect.net/InterviewQuestions/Java-Junior-Level-Test
請問以下程式碼輸出為何 ?
1. Basketball
2. Football
3. Baseball
4.這段程式碼無法編譯
public class Product {
private String name;
public static void main(String[] args) {
Product a,b,c;
a=b=c=new Product();
a.setName("Basketball");
b.setName("Football");
c.setName("Baseball");
System.out.println(b.getName());
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name=name;
}
}
以下是自己對這一題的看法:
(1)其實 a , b , c 在記憶體中的位置都是相同的 ,所以你無論是先做 a.setName或是
b.setName(),其實都是對同一個Product做setName()。
(2) b.getName()所輸出的結果為Baseball。因為最後一次做setName的內容為
Baseball。
沒有留言:
張貼留言