[OCAJP]繼承與建構子3

Given:

And given the code fragment:

What is the result?

A.

4W 100 Auto
4W 150 Manual

B.

null 0 Auto
4W 150 Manual

C. Compilation fails only at line n1
D. Compilation fails only at line n2
E. Compilation fails at both line n1 and line n2

題解

line n1的建構子有誤,由於其並沒有使用「super」或是「this」敘述來決定要先執行的建構子,因此預設會自動加入「super();」於建構子的第一行。但是Car所繼承的Vehicle類別並沒有「Vehicle()」這個建構子,因此會有編譯錯誤。

line n2使用了「this」敘述,但不是在建構子的第一行呼叫,因此會編譯錯誤。

關於作者

Magic Len

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

相關文章