[OCAJP]如何輸出123 : Fred : [Java, C]

Given the code fragment:

And,

Which code fragment, when inserted at line // insert code here, enables class Test to print 123 : Fred : [Java, C]?

A.

B.

C.

D.

題解

題目原先的程式會在第26行發生編譯錯誤,原因在於Student類別內並沒有實作出Student(int i, String name, List cs)這樣的建構子。因此必須要加入建構子至程式第9行。

選項A,建構子若使用private來修飾,就無法在類別之外被實體化了。

選項B,建構子不能撰寫回傳值的型態,連無回傳值型態「void」都不行。

選項C,正確答案。

選項D,因為隱含式(implicit)的自動轉型只能向上轉型,因此第三個參數應該要是List型態或是List繼承之父類別的物件型態(如Collection、Iterable、Object),而不能是繼承List的子類別(如ArrayList、LinkedList)。

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章