(java隨筆)關於java的內部函式和內部類
近幾日在學習Android開發時遇到了一個函式內定義函式的結構,一查之下才知道是內部函式,
同時還查閱到了關於內部類的一些資料,為了防止自己忘記這些知識,今在此特意整理記錄成筆記。
內部函式
- 即定義在另一個函式內部的函式
- 內部函式名的作用域是它被定義的模組內
- 一個函式內部允許定義變數的位置都能定義內部函式,即可以在任意程式塊內定義
內部類
內部類,是指在一個外部類內部再定義一個類,並依附於外部類而存在。
使用內部類的好處
- 內部類方法可以訪問該類定義所在的作用域的資料,包括私有的資料
- 內部類可以對同一個包中的其他類隱藏起來,一般的非內部類,是不允許有 private 與protected許可權的,但內部類可以
- 可以實現多重繼承
- 當想要定義一個回撥函式且不想編寫大量程式碼時,使用匿名內部類比較便捷
相關推薦
(java隨筆)關於java的內部函式和內部類
近幾日在學習Android開發時遇到了一個函式內定義函式的結構,一查之下才知道是內部函式, 同時還查閱到了關於內部類的一些資料,為了防止自己忘記這些知識,今在此特意整理記錄成筆記。 內部函式 - 即定義在另一個函式內部的函式 - 內部函式名的作用域是
Python學習筆記(十一)關鍵字、函式和方法
關鍵字是 Python內建的、具有特殊意義的識別符號 關鍵字後面不需要使用括號 函式封裝了獨立功能,可以直接呼叫
Java學習筆記之物件陣列和內部類
1、物件陣列 物件陣列就是數組裡包含的是一組物件,在使用之前,我們必須要先開闢陣列空間,一開始數組裡的每一個物件都是null值,在使用的時候,每一個物件都必須例項化。 1.1 物件陣列的宣告 類 物件陣列名稱 [] = new 類 [陣列長度] class Person{
Java 中的訪問修飾符和內部類
內部類: 問:什麼是內部類呢? 答:內部類( Inner Class )就是定義在另外一個類裡面的類。與之對應,包含內部類的類被稱為外部類。 問:那為什麼要將一個類定義在另一個類裡面呢?清
內部介面和內部類的區別
非靜態內部類依賴外部類,外部類先存在,才能建立內部類; 因為非靜態內部類中有個外部類的引用,非靜態內部類的建構函式中有個外部類引用引數需要傳入(類是this); 內部介面,不需要依賴外部介面和外部類,因為預設的內部介面都是static靜態的;
java基礎學習總結(十一):自動裝箱和自動拆箱
自動拆箱和自動裝箱 Java為每種基本資料型別都提供了對應的包裝器型別。舉個例子: public class TestMain { public static void main(String[] args) { Integer i = 10; } }
安全程式設計(十四)- Java中throw和throws的區別
1.粗淺來說 throw是一個語句丟擲異常,throws是一個方法丟擲異常; throw不是和try-catch-finally配套使用就是和throws配套使用,而throws可
安全程式設計(十七)- Java的getter() 和 setter()
1.前言 我們在學習時,參考別人專案時會碰到像這樣的一些程式碼: package cn.edu.nuist.testSystem.beans; import java.io.Serializable; /**資料庫User表的bea
【夾娃系列】java面試基礎知識儲備(¥1)——java的優點和C++的異同點
怎麼才能夾到布娃娃 沒錯!!這個文章就是告訴你怎麼才能用一個硬幣,抓到最多的布娃娃QAQ,這是我抓娃娃的第一個硬幣¥1.【宣告】夾娃系列純屬個人學習,參考了不少面試的書,《程式設計之美》、《演算法珠璣》、《劍指offer》、《java程式設計師
【夾娃系列】java面試基礎知識儲備(¥2)——JVM記憶體劃分和記憶體溢位異常的原因和解決方法
JVM記憶體劃分和記憶體溢位 JVM記憶體劃分 記憶體溢位的異常和解決辦法 JVM記憶體劃分 堆:存放物件例項,被所有的執行緒共享的一塊區域。垃圾收集器管理的主要區域。 方法區:儲存虛擬機器載入的類資訊,常量,靜態變
java用遞迴篩選法求N以內的孿生質數(孿生素數)--附氣泡排序和插入排序練習
本人最近讀完一本書《質數的孤獨》,裡面講到孿生質數,就想查一下孿生質數的分佈情況。其中主要用到了計算質數(素數)的方法,搜了一下,排名前幾的都是用for迴圈來做的,感覺略微麻煩了一些,在比較一些還是覺得用遞迴篩選法來解決這個問題。 新建List<Integer>,然後從第0位開始,如
Java語言學習(十一):列舉型別和泛型
Java中一個重要的型別:列舉,它可以用來表示一組取值範圍固定的變數,使用 enum 關鍵字定義列舉型別,其中元素不能重複,通常大寫表示。利用Java的反射機制,可以在執行時分析類,如檢視列舉型別的修飾符、父類和自定義方法等,下面簡單說下。
Java筆記(十一)通用容器類和總結
結構 翻轉 隨機 抽象 clear out 內部類 依賴 keys 通用容器類和總結 一、抽象容器類 一)AbstractCollection 提供了Collection接口的基礎實現,具體來說,實現了如下方法: public boolean addAll(Collec
Java基礎面試題(12)----JSP是什麼和內建物件介紹
問題 JSP和Servlet有什麼區別? JSP有哪些內建物件,他們的作用是什麼? 解析1:JSP和Servlet又有什麼區別? JSP和Servlet的關係 我們上次講解Servlet的時候,去看了他的原始碼,最終實現的是Servlet介面。而JSP
排序演算法(Java隨筆)—歸併排序
歸併排序(Merge Sort):將多個有序資料表合併為一個有序資料表,如果被合併的資料表只有兩個,則叫二路歸併。 二路歸併排序的原理步驟: 將長度為n的原資料表分割為n個長度為1的子表,兩兩合併得
設計模式(Java隨筆)—單例模式
單例模式(Singleton Pattern):5種建立型模式中的一種,有關單例模式的所有建立方法參考:Java單例模式——並非看起來那麼簡單(總結不易,感謝!),本文中,我只對開發中常用的兩種(多執行緒)方法和Java特有的列舉法進行程式碼複寫。 首先,還是貼一下單例的定
演算法趣題(Java隨筆)—數學系列
目錄 一、判斷閏年 四年一閏,百年不閏,四百年再閏; //1、判斷閏年 static boolean isLeapYear(int year){ if((year%4==0)&a
設計模式(Java隨筆)—生成器模式
生成器模式(Builder Pattern):分離構建演算法和具體的構造實現,從而使構建演算法可以重用 Separate the construction of a complex object from its representation so that the sa
設計模式(Java隨筆)—原型模式
原型模式(Prototype Pattern):誒呀,一種灰常簡單的模式,就是要求物件實現一個可以“克隆”自身的介面,這樣就可以通過複製一個例項物件本身來建立一個新的例項。只要實現了克隆自身的方法,就可以通過這個方法來獲取新的物件,而無須再去通過new來建立。 Specif
設計模式(Java隨筆)—直譯器模式
直譯器模式(Interpreter Pattern):很少用到的一個模式,主要因為該模式的實現特別複雜且應用場景較少,所以很少人使用,當有一個簡單的語言需要解釋執行,並且可以將該語言的每一個規則表示為一