【Java筆記】內部類注意事項
內部類要求:Java內部類其實在J2EE程式設計中使用較少,不過在視窗應用程式設計中特別常見,主要用來事件的處理。其實,做非GUI程式設計,內部類完全可以不用。但是在Java中,內部類也相當的重要,尤其做GUI開發時候,事件的響應處理全靠內部類了。
另外內部類所做的功能使用外部類也同樣可以實現,只是有時候內部類做的更巧妙些。
內部類按照其所在位置不同,可分為以下幾種:
1、(普通的)內部類(最常見的內部類,內部類的定義與類成員平級)
2、方法內部類
3、匿名類
4、靜態內部類
5、介面內部類
另外內部類宣告與訪問如下:
1、內部類直接在類的內部進行宣告。可以宣告為private、protected、public或者預設訪問許可權,這個訪問許可權約定和外部類完全一樣。
2、內部類自動擁有對其外圍類所有成員(方法、屬性)的訪問權。如果內部類和外部類成員的名字完全相同,在內部類方法中要訪問外部類成員,則需要使用下面的方式來訪問:外部類名.this.外部成員名。
3、必須使用外部類物件來建立內部類物件,而不是直接去new一個。
相關推薦
【Java筆記】內部類注意事項
內部類要求:Java內部類其實在J2EE程式設計中使用較少,不過在視窗應用程式設計中特別常見,主要用來事件的處理。其實,做非GUI程式設計,內部類完全可以不用。但是在Java中,內部類也相當的重要,尤其做GUI開發時候,事件的響應處理全靠內部類了。 另外內部類所做的功能使用外部類也同樣可以實現,只是
java內部類注意事項
java內部類 public class code1 { public code2 B; class code2//方法三static class code2 { private String s; public code2(String s){this.
【Java筆記】多執行緒實現簡單的非同步運算
實現Callable介面,重寫call()方法,使操作執行緒池時能帶有返回值的效果: import java.util.concurrent.Callable; public class GetSumCallable implements Callable<Integer> {
【Java筆記】方法過載與重寫的區別
1.重寫(Override) 重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。即外殼不變,核心重寫! 重寫的好處在於子類可以根據需要,定義特定於自己的行為。 也就是說子類能夠根據需要實現父類的方法。 重寫方法不能丟擲新的檢查異常或者比被重寫方法申明更加寬
【Java筆記】一個.java檔案中存在多個類的問題
一個.java檔案中可以有很多類。不過注意以下幾點: 1、public 許可權的類只能有一個(也可以一個都沒有,但最多隻有1個) 2、這個.java檔案的檔名必須是public類的類名(一般的情況下,這裡放置main方法是程式的入口。) 3、若這個檔案中沒有public的類,則檔名隨
【Java筆記】IO流中四種檔案複製方式效率比較
位元組流檔案複製方式: (1)位元組流讀寫單個位元組 (2)位元組流讀寫位元組陣列 (3)位元組緩衝流讀寫單個位元組 (4)位元組緩衝流讀寫位元組陣列 import java.io.BufferedInputStream; import java.io.BufferedOutpu
【Java筆記】IO流中檔案複製及異常處理
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class Main
【Java筆記】檔案輸出流中的IO異常處理
在檔案輸出流(FileOutputStream)的寫入操作和關閉資源操作中,比如說檔案寫入失敗或者關閉資源失敗等等,我們不能把這些異常總是拋給虛擬機器,不然JVM會生氣的,我們已經長大了要自己學會處理這些異常。 如: try { fos = new FileOutputStream("
【Java筆記】為什麼資料範圍最大值加一等於最小值
在程式中有時候不小心將最大數值加1,我們會得到一個負數,這個負數就是這種資料型別的最小值。 下面看一個示例: public class Number { public static void main(String[] args) { System.out.println("最大的整數
【Java筆記】String字串拼接應該使用哪種方式?
我們所知道的字串String的拼接有: “+” 、 concat () 方式實現,或者使用StringBuilder、StringBuffer類實現。這幾種方式效能的從低到高進行排序,則順序為:“+” < concat () < S
【Java筆記】通過反射配置檔案執行類中的方法
要求:在一個Test類中呼叫不同類中的方法,不改動Test原始碼,如何做到? 實現方法:將要執行的類名和方法名,以鍵值對的形式卸儲存在文字中,執行哪個類就讀取配置檔案即可。 實現步驟:1.準備配置檔案,鍵值對 &nbs
【Java筆記】泛型擦除
要求:定義ArrayList<String>集合,如何實現向集合中新增Integer型別的值? 實現這個要求前,我們可以先了解偽泛型的概念,即編譯後的Class檔案中其實是沒有泛型約束的,請看程式碼: public class Test { public void doTwo(L
【Java筆記】TCP上傳圖片案例分析
要求:從客戶端上傳一張圖片到伺服器,伺服器將圖片儲存在指定資料夾中,伺服器反饋上傳成功。 (本質是檔案複製,只要有資料來源和資料目的即可) 客戶端:資料來源是電腦某碟符下的某張照片 資料目的
【Java筆記】java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory解決方法
解決方法:匯入commons-logging.jar包 如果用的是maven直接用: <dependency> <groupId>commons-logging</g
【java筆記】淺談Java中的equals和==
在初學Java時,可能會經常碰到下面的程式碼: String str1 = new String("hello"); String str2 = new String("hello"); System.out.println(str1==str2); System.out.
【java筆記】Leetcode 203.移除連結串列元素
刪除連結串列中等於給定值 val 的所有節點。 示例: 輸入: 1->2->6->3->4->5->6, val = 6 輸出: 1->2->3->4->5 public class Solution { p
內部類注意事項: 內部類定義在區域性時:
當內部類中定義了靜態成員,該內部類必須是static的. 當外部類中靜態方法訪問內部類時,內部類也必須是static的 內部類定義在區域性時: 1:不可以被成員修飾符修飾 2:可以直接訪問外部類中的變數,因為還持有外部類中的引用。 只能訪問被final修飾的區域性
【Java筆記】隨機生成a到b的整數
如果要隨機產生一個a到b(包括a和b)之間的整數,可以使用下面的公式:int 變數名 = (int)( Math.random() * ( b – a + 1 )) + a;例如:要隨機產生一個10到
Java 筆記 - 成員內部類(萌新筆記)
Java中的成員內部類的使用方法 內部類中最常見的就是成員內部類,也稱為普通內部類。我們來看如下程式碼: public class Outer { private int a = 99;//外部類的私有屬性 //內部類Inner public class Inner { p
【Java筆記】try中捕獲到異常後跳出try
public class TestDome { public static void main(String[] args) { try{ s1(); s2(); //s2()中有異常,則跳到catch模組,不再