常見面試題二——你對內部類是怎樣理解的?

問題:你對內部類是怎樣理解的?

回答:

內部類是一種比較特殊的類,它定義在另外一個類的內部,在外部類當中可以生成內部類的對象,並調用其成員。內部類最常見的使用方法是使用匿名內部類。

第一種使用方法是在模板回調模式當中,使用匿名內部類來作爲回調接口的實現。在SpringJDBC模塊和Hibernate模塊當中,都提供了模板類。以JDBC爲例,Spring提供了一個JDBCTemplate作爲模板,還提供了一系列的回調接口。在模板當中,主要提供的是JDBC訪問數據庫的基本流程,將SQL語句和對結果集的處理設置的回調接口當中。在使用該模板時,就可以使用匿名內部類來實現。

第二種使用方法是使用匿名內部類來實現多線程。如果不希望在一個類的外部來產生一個該類的線程,就可以再該類當中定義一個匿名內部類,實現Runnablle接口,或者是繼承Thread類。因爲匿名內部類沒有名字,並且可以將其權限設置爲private,所以說不可能在別的地方生成匿名內部類的對象。這樣就可以很好的隱藏調用線程的run()函數。

總體來說最常用的內部類是匿名內部類。這種用法是專門供特定問題用的,一次性的類。好處是它能把解決某個問題的代碼全都集中到一個地方。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章