成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java面試題:多繼承

移動開發 Android
面試開發人員不僅辛苦而且乏味,當然也有一些極好的參考,但是最后錄用與否你來決定。為了快速了解他們的編程能力,我已經想好要問他們Java是否支持多重繼承的問題。

英文原文:Codemonkeyism,編譯:劉志軍

招聘和面試對開發經理來說是一個無盡頭的工作,雖然有時你可以從HR這邊獲得一些幫助,但是最后還是得由你來拍板,或者就像另一篇文章“Java 面試題:寫一個字符串的反轉”所說:

面試開發人員不僅辛苦而且乏味,當然也有一些極好的參考,如:Joel Guerilla Guide  to interviewing,但是最后錄用與否你來決定。為了快速了解他們的編程能力,我已經想好要問他們字符串反轉的問題。

除了字符串反轉的問題外,還有一道好題。

Java是否支持多重繼承?

好了,很明顯傳統意義上Java并沒有多繼承,所以正確的答案應該是:“沒有”或者“有,但是”或者“沒有,但是”。單從這點就可以探索出不同的方法來。通常我會問“是否因Java語言的設計者笨到沒法實現多重繼承”作為我們話題的開始,為什么C++那幫家伙實現了呢?我主要以菱形繼承問題來說明:

在面向對象的編程語言中總伴隨著多重繼承及組織的理解。菱形繼承問題就是在如下情景時出現含糊不清的情況:當兩個類B和C繼承自A,類D同時繼承自B和C, 如果D中的一個方法調用一個在A中定義的方法(不是覆蓋方法).而B和C分別用不同地方式重寫(overridden)了方法,那么這個方法到底是繼承的哪個類呢,B還是C?

另一探索性的方法是:Java怎么模擬“多重繼承”?我想答案已經浮出水面了,就是接口(Interface)。我們經常在Java中討論接口,那么應試者在什么時候,怎么使用接口的呢? 使用接口又有什么好處呢?應試者是否喜歡使用接口?我可以檢測他對建模有多熟練,有時還會讓他針對接口畫畫圖。我們繼續談論Java中接口的問題,當兩個 接口有相同的靜態域(field),有一個類實現了Java中所謂的“多繼承”的兩個接口時會出現什么情況?

 
  1. publicinterfaceI1 { 
  2. String NAME = "codemonkeyism"
  3. publicinterfaceI2 { 
  4. String NAME = "stephan"
  5. publicclassC implementsI1, I2 { 
  6. publicstaticvoidmain(String[] args) { 
  7. System.out.println(NAME); 
 
Java堅持了他們的做法,語言的設計者決定不讓其編譯通過。
C.java:3: reference to NAME is ambiguous, both variable NAME 
              in I1 and variable NAME in I2 match
      System.out.println(NAME);
                         ^
1 error

還有更多的方法和我們的應試者去探討多繼承的問題, 例如:接口中方法的修飾符是什么?對于菱形繼承問題使用traits實現混合結構是否比使用接口更好,還是和多繼承一樣的糟糕?正如我不在那么鐘愛繼承一 樣,大量使用繼承是一種代碼異味。我們還可以和應試者討論繼承的負面因素—–重耦合的例子。

為什么會有這問題?

我為什么會問這個問題呢,從這個問題中又學到了什么?繼承在面向對象(OO)中是很基礎的概念,是每個Java程序員都應該理解的概念。同時也是他反映到工 作中,理解超出語法層面的另一個基本的特性。所以對于多繼承問題,我喜歡那些可以引出很多可以探討與思考的問題。這個繼承問題只是多繼承、語言設計、代碼 味道、解決方案、接口、基于角色的開發等眾多問題中的一種而已。

責任編輯:閆佳明 來源: importnew
相關推薦

2009-06-06 18:34:05

java面試題

2009-06-06 18:36:02

java面試題

2015-09-02 09:32:56

java線程面試

2020-06-04 14:40:40

面試題Vue前端

2023-11-13 07:37:36

JS面試題線程

2011-03-24 13:27:37

SQL

2018-03-08 18:40:47

Java百度面試題

2011-08-17 10:28:53

多對多查詢SQL Server

2014-09-19 11:17:48

面試題

2018-07-20 09:24:27

Java面試垃圾收集

2017-08-29 14:12:16

Java面試題

2025-02-26 07:58:41

2024-06-04 14:52:28

2023-07-14 08:12:21

計時器unsafecontext

2013-01-05 14:51:34

JavaScriptjQuery面試

2014-07-28 14:00:40

linux面試題

2009-06-16 14:03:16

Hibernate面試Hibernate面試

2020-11-05 10:01:35

系統設計軟件

2021-02-23 12:43:39

Redis面試題緩存

2015-09-10 08:46:15

Java面試題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人精品一区二区三区 | 久久国产精品-国产精品 | 国产精品国产精品 | 亚洲九色 | av天天操| 国产精品久久国产精品久久 | 日韩一区二区三区在线观看 | 成人小视频在线观看 | 黄色日批视频 | 一区二区免费高清视频 | 久久精品中文 | 成人精品视频在线观看 | 色资源在线| 日韩中文字幕av | 色久影院 | 午夜欧美 | 国产一区二区日韩 | 精品国产一级 | 男女网站免费观看 | 色五月激情五月 | 精品国产精品 | 一区二区亚洲 | 亚洲国产视频一区二区 | 国产高清一区二区三区 | 日韩精品在线一区 | 在线视频一区二区三区 | 欧美视频三级 | 久久久91精品国产一区二区精品 | 日韩精品一区二区三区中文字幕 | 亚洲免费人成在线视频观看 | 成人国产精品色哟哟 | 精品久久久久一区二区国产 | 精品无码三级在线观看视频 | 亚洲精品久久久久久久久久久久久 | 夜夜爽99久久国产综合精品女不卡 | 免费黄网站在线观看 | 久久精品国产一区二区三区不卡 | 国产精品久久久久久久久久久久久 | 国产精品一区二区无线 | 国产女人精品视频 | 97伦理 |