靜態內部類的使用場景
在實際的工作開發中,使用普通的內部類的場景比較多,似乎靜態內部類並不常用,但是它也有其特定的使用場景。
比如說我們學習JAVA的時候,的main方法,它是static 方法,是程式的入口,但不需要每個java檔案都定義這個方法吧。為了程式碼簡潔,減少程式碼量
下面為了探索更多的使用場景,我們先來了解一下它的使用規則。
1、非靜態內部類是不可以宣告靜態成員的(屬性和方法),使用靜態類就可以宣告靜態成員,而這招體現在實際的工作中,也許可以讓你避免繞許多圈子。
2、非靜態內部類,可以隨意的訪問外部類中的成員變數與成員方法,即便它們是私有的也可以(這是它活下來的重要手段之一,呵呵)。
但靜態內部類對外部類的訪問是有侷限的,如不能訪問外部類的非靜態成員與變數(這是它的最大限制,也是使用頻率上輸給普通內部類的原因)
3、普通內部類把它理解為與外部類綁定了,建立普通內部類物件一定要通過外部類的物件new才行。而靜態內部類是不需要的。
相關推薦
java內部類總結 問題:內部類、靜態內部類區別、使用場景?
問題:內部類、靜態內部類區別、使用場景?1.靜態內部類可以有靜態成員(方法,屬性),而非靜態內部類則不能有靜態成員(方法,屬性)。2.靜態內部類只能夠訪問外部類的靜態成員,而非靜態內部類則可以訪問外部類的所有成員(方法,屬性)。3.例項化方式不同:(1)例項化成員內部類“”通
靜態內部類的使用場景
在實際的工作開發中,使用普通的內部類的場景比較多,似乎靜態內部類並不常用,但是它也有其特定的使用場景。 比如說我們學習JAVA的時候,的main方法,它是static 方法,是程式的入口,但不需要每個java檔案都定義這個方法吧。為了程式碼簡潔,減少程式碼量 下面為了探索更
靜態內部類的加載方式
args pub 成員 clas 內部 變量 string new logs 非內部類的靜態成員變量會直接加載 public class OuterClass { static{ System.out.println("OuterCla
靜態內部類和非靜態內部類的區別
依賴 table width idt 靜態屬性 bsp 訪問 實例化 外部 靜態屬性和方法 訪問外部類的屬性和方法 實例化 靜態內部類 有 只能訪問靜態的 依賴於外部類的實例 非靜態內部類 無 所有 可以直接實例化 靜態內部類和非靜態內部類的區別
java靜態內部類
auto 關系 generate 時有 gpo 使用 sta 方法 *** 靜態內部類特點:1.使用static修飾的成員內部類是靜態內部類2.靜態內部類和外部類沒有任何關系,只是在生成類名和類定義時有影響。靜態內部類可以看做是與外部類平級的類。使用方法與外部類平級的類完全
靜態內部類定義在類中,任何方法外,用static定義
static sys 需要 有一個 out col 定義 pub 不可 靜態內部類:(註意:前三種內部類與變量類似,所以可以對照參考變量) 靜態內部類定義在類中,任何方法外,用static定義。 靜態內部類只能訪問外部類的靜態成員。 生成(new)一個靜態內部類不需要外部類
Android小知識-剖析Retrofit中靜態內部類Builder的三個方法
本平臺的文章更新會有延遲,大家可以關注微信公眾號-顧林海,包括年底前會更新kotlin由淺入深系列教程,目前計劃在微信公眾號進行首發,如果大家想獲取最新教程,請關注微信公眾號,謝謝! 在上章節《Android小知識-剖析Retrofit中的網路請求流程以及相關引數》中介紹了Retrofit的成員變
android 使用handle警告,,存在記憶體洩漏的危險,使用靜態內部類和弱引用的方式解決。
Handle警告的原因:handle定義為內部類,會持有外部類的引用,如果外部類結束,handle因為執行耗時操作沒有結束,並持有外部類的引用,導致外部類佔用的記憶體不能釋放。 解決辦法:handle定義為靜態內部類,handle對於外部類的元件和方法的操作藉助弱引用來實現。 public
java中的內部類和靜態內部類
以下程式執行結果為 public class Test { public class A{ public String test="A"; } public static class B{ public Strin
java之單例模式:餓漢式、懶漢式、雙重校驗鎖、列舉、靜態內部類
一、餓漢式: /** * 餓漢式: * 不存在多執行緒同步問題,當類被載入時,初始化並分配記憶體空間; * 當類被解除安裝時,才釋放所佔記憶體,因此在某些特定條件下會耗費記憶體。 * * @author: Rodge * @time: 2018年10月4日 下午4:35:12 * @
java之匿名內部類、成員內部類、方法內部類、靜態內部類
一、匿名內部類:必須繼承一個類或者實現介面,不能建立建構函式。 /** * 匿名內部類 * * @author: Rodge * @time: 2018年10月4日 下午3:44:03 * @version: V1.0.0 */ public class AnonymousInner
Java非靜態內部類外部this物件和final型別詳解
1. 非靜態內部類是如何引用外部類this物件的 Java內部類分為靜態內部類和非靜態內部類。它們有一個比較大的區別在於,非靜態內部類擁有外部類的this物件的引用,從而使得非靜態內部類可以訪問外部類的成員函式,成員變數。這個結論我們大家都比較清楚,那麼原理大家都懂嗎?這篇文章我講通
(轉)Java靜態內部類的例項化問題
最近遇到的一個問題,記錄一下。 靜態內部類可以被例項化! 1.首先在外部類中的static方法中不能使用普通內部類,因為內部類必須要與外部類建立關聯才能使用,可以說是同生共死。 2.我在編碼過程中,需要2個類共同完成一個功能,其中一個工具類只會被用來完成這個功能,所以我選擇將這個類作為內部類,但是這個內部類與
java靜態內部類瞭解一下
1. java內部類 什麼是內部類?將一個類的定義放在另一個類的內部,就是內部類。Java的內部類主要分為成員內部類、區域性內部類、匿名內部類、靜態內部類。 public class 外部類的名稱{ //外部類的成員 public class 內部類的名稱{
Java之靜態內部類(static class)
轉載請註明出處:http://riddickbryant.iteye.com/blog/555545 在一個類中建立另外一個類,叫做成員內部類。這個成員內部類可以靜態的(利用static關鍵字修飾),也可以是非靜態的。由於靜態的內部類在定義、使用的時候會有種種的限制。所以在實際工作中用到
單例模式——靜態內部類單例原理
瞭解下單例的四大原則: 1.構造私有。2.以靜態方法或者列舉返回例項。 3.確保例項只有一個,尤其是多執行緒環境。 4.確保反序列化時不會重新構建物件。 我們常用的單例模式有: 餓漢模式、懶漢模式、雙重鎖懶漢模式、靜態內部類模式、列舉模式,我們來逐一分析下這些模式的區別。 1.餓漢
Java的內部類(無靜態內部類)
package tgjavaday5; import org.omg.CORBA.PUBLIC_MEMBER; /** * * @author asus Tiger * 對四大內部類的實現 */ //成員內部類 interface inter1{ void interFun()
Android 非靜態內部類導致的記憶體洩露(非static內部類)
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
單例模式,最好的單例實現方式,靜態內部類的方式
單例模式的優點: 1.在記憶體中只有一個物件,節約記憶體 2.避免頻繁的建立和銷燬物件,可以提高效能 3.避免對共享資源的多重佔用 4.可以全域性訪問 適用場景: 1.需要頻繁例項化然後銷燬的物件 2.
java基礎——————內部類 靜態內部類、成員內部類、匿名內部類
內部類包括四種類型:靜態內部類,例項(成員)內部類,匿名內部類,本地內部類(不多用) 主要分析前三種內部類的建立以及物件的建立和方法的如何呼叫 一、靜態內部類 1)訪問內部類的資料成員和方法 訪問內部類資料成員方法: 內部類物件直接呼叫 內部類物件呼叫外部類非靜態資料成員和方法: