中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java開發中嵌套類的詳解及實例

發布時間:2020-09-29 08:44:34 來源:腳本之家 閱讀:173 作者:liuyi1207164339 欄目:編程語言

 java開發中嵌套類的詳解

在java語言規范里面,嵌套類(Nested Classes)定義是:

A nested class is any class whose declaration occurs within the body of another class or interface. A top level class is a class that is not a nested class.

說的簡單一點,就是定義在類里面的類。一般把定義內部類的外圍類成為包裝類(enclosing class)或者外部類

嵌套類分類

根據nested class定義的地方,可以分為member nested class,local nested class , anonymous nested class

  1. member nested class(成員嵌套類) :成員嵌套類 作為 enclosing class 的成員定義的,成員嵌套類有enclosing class屬性
  2. local nested class (局部嵌套類): 局部嵌套類定義在 enclosing class 的方法里面,局部嵌套類有enclosing class 屬性和enclosing method 屬性
  3. anonymous nested class(匿名嵌套類):匿名嵌套類沒有顯示的定義一個類,直接通過new 的方法創建類的實例。一般回調模式情況下使用的比較多

 member nested class 可以使用public,private,protected訪問控制符,也可以用static,final關鍵字

local nested class 可以使用final關鍵字

anonymous nested class 不使用任何關鍵字和訪問控制符

來自Java編程思想:

如果不需要內部類對象與外圍類對象之間有聯系,那么可以將內部類聲明為static。這通常稱為嵌套類。要想理解static應用于內部類時的含義,就必須記住,普通的內部類對象隱式地保存了一個引用,指向創建它的外圍類對象。然而,當內部類時static的時候,就不是這樣了。嵌套類意味著:

要創建嵌套類的對象,并不需要其外圍對象。

不能從嵌套類的對象中訪問非靜態的外圍類對象。

嵌套類與普通的內部類還有一個區別。普通內部類的字段與方法,只能放在類的外部層次上,所以普通的內部類不能有static數據和static字段(這就是為什么單例設計模式中,內部類為什么必須是靜態的原因了),也不能包含嵌套類,但是嵌套類可以包含所有這些東西!

下面是懶漢式單例模式的代碼:

package com.easyliu.staticinnerclass; 
 
/** 
 * 懶漢式單例 
 * @author EasyLiu 
 * 
 */ 
public class Singleton { 
  private Singleton() { 
    System.out.println("Singleton-init"); 
  } 
 
  /** 
   * 
   * @author EasyLiu 嵌套類(靜態類) 
   * 
   */ 
  private static class SingletonHolder { 
    private final static Singleton INSTANCE = new Singleton(); 
  } 
 
  public static Singleton getInstance() { 
    return SingletonHolder.INSTANCE; 
  } 
 
  public static void main(String[] args) { 
    //測試Singleton會初始化幾次 
    Singleton.getInstance(); 
    Singleton.getInstance(); 
    Singleton.getInstance(); 
    Singleton.getInstance(); 
    Singleton.getInstance(); 
  } 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

琼中| 资讯| 滦平县| 宁明县| 博客| 镇安县| 大名县| 吉首市| 沿河| 达尔| 长武县| 荥经县| 德江县| 宁强县| 江孜县| 汝城县| 建始县| 乌拉特中旗| 怀柔区| 广河县| 临颍县| 双辽市| 比如县| 和田县| 德惠市| 昌乐县| 图们市| 庄浪县| 温宿县| 承德县| 镇平县| 景德镇市| 读书| 康保县| 凉城县| 潜山县| 宁明县| 明水县| 鹰潭市| 南通市| 东丰县|