靜態內部類和非靜態內部類區別

小鞅發表於2016-04-21
  1. 靜態內部類可以建立靜態的成員,而非靜態的內部類不可以,原因:內部類相當於外部類的一個屬性,非靜態內部類中如果可以使用靜態成員,但是非靜態內部類是相當於非靜態成員,是在類例項化的時候才可以使用的,所以在非靜態類中定義靜態變數有一點多餘,所以不可以這樣使用。但是在非靜態內部類中可以定義static final int i=1;

  2. 靜態內部類只可以訪問外部類中的靜態成員變數與成員方法而非靜 態的內部類即可以訪問靜態的也可以訪問非靜態的外部類成員方法與成員變數:原因:靜態內部類可以不通過例項化,直接引用裡面的屬性和物件,因此,如果可以訪問外部的非靜態成員,則非靜態成員有可能沒有例項化。

  3. 靜態內部類不是外部內被載入的時候就載入,而是在需要呼叫內部靜態類的時候才會載入的。

  4. 靜態內部類不能實現介面,但是非靜態內部類是可以實現介面的
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

相關文章