2009年2月9日 星期一

第43題

Given:
1. class Plant{
2. private String name;
3. public Plant(String name){this.name = name;}
4. public String getName(){return name;}
5. }
6. public class Tree extends Plant{
7. public void growFruit(){}
8. public void dropLeaves(){}
9. }

What statement is true?
A. The code will compile without changes.
B. The code will compile if public Tree(){Plant();} is added to the Tree class.
C. The code will compile if public Plant(){Tree();} is added to the Plant class.
D. The code will compile if public Plant(){this("fern");} is added to the Plant class.
E. The code will compile if public Plant(){Plant("fern");} is added to the Plant class.
答案:D
參考:6-5 繼承

---------------------------------------------------

class Tree 裡面沒有建構式,所以預設super();
但class Plant裡面沒有 Plant()的建構子, 所以加入一行 this("fern") 去呼叫Plant(String name)

沒有留言:

張貼留言