[OCAJP]遮蔽

Given:

What is the result?

A.

myStr: 9009, myNum: 9009

B.

myStr: 7007, myNum: 7007

C.

myStr: 7007, myNum: 9009

D. Compilation fails

題解

程式第8行的「myStr」變數會遮蔽(shadow)掉第3行同名的「myStr」物件變數,作用範圍只在第8~9行的程式區塊內。在第9行會將字串「9007」轉成整數,並把轉好的整數數值儲存在第6行宣告的myNum變數中,這部份是沒問題的。在程式執行到第12行之後,「myStr」所指的是第3行的「myStr」物件變數,所以此時「myStr」存的是字串「7007」,而「myNum」存的是整數「9009」。

關於作者

Magic Len

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

相關文章