網站的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。
沒有留言:
張貼留言