導航:首頁 > 編程語言 > 類內類java

類內類java

發布時間:2022-10-05 08:25:23

A. java內部類有幾種

Java中的幾種內部類:
成員內部類:作為外部類的一個成員存在,與外部類的屬性、方法並列。當某個類除了他的外部類,不會被其他類使用時應該選擇使用成員內部類。
局部內部類:局部內部類定義在外部類的某個代碼塊或方法塊中。如果只會在某個方法或塊中創建這個類的對象,就可以使用局部內部類。
匿名內部類:匿名內部類一般定義在需要傳遞介面或回調的的地方,一個匿名內部類一定是在new的後面,用其隱含實現一個介面或繼承一個類。假如只需要創建這個類的一個對象不需要知道其實際類型(不需要使用到類名),那麼就可以使用匿名內部類。
靜態內部類:和成員內部類一樣,作為外部類的一個成員存在,與外部類的屬性、方法並列,只不過在聲明類的時候加入了static關鍵字。有時候,使用內部類只是為了把一個類隱藏在另外一個類的內部,並不需要內部類引用外圍類對象。這時可以使用靜態內部類,以便取消產生對外部類的引用。

B. java 內部類和外部類的區別

1. Java項目一般從src目錄開始有com...A.java這樣的目錄結構。這就是包結構。所以一般編譯後的結構是跟包結構一模一樣的,這樣的結構保證了import時能找到正確的class引用包訪問許可權就是指同包下的類可見。
import 一般加上全路徑,並且使用.*時只包含當前目錄的所有類文件,不包括子目錄。
2. 外部類只有public和default兩種修飾,要麼全局可訪問,要麼包內可訪問。
3. 內部類可以有全部訪問許可權,因為它的概念就是一個成員變數,所以訪問許可權設置與一般的成員變數相同。
非靜態內部類是外部類的一個成員變數,只跟外部類的實例有關。
靜態內部類是獨立於外部類存在的一個類,與外部類實例無關,可以通過外部類.內部類直接獲取Class類型。
想要了解更多可以跟我一起討論哦

C. 請問java中的內部類和外部類分別是什麼意思

外部類,內部類,匿名類,外部類就是兩個類並列的class A {} class B {},內部類:class A { class B {}},B可以直接使用包涵它的類的成員變數,內部類不能被除包涵類以外的類調用;還有就是匿名類,也是內部類 classA{new {}}省略定義類名直接定義方法和使用,這個適用於代碼比較簡單且這個類不需要被其他類調用

D. java類的裡面可以再定義一個類嗎

java類裡面還可以定義一個類,即內部類。

  1. java內部類分為: 成員內部類、靜態嵌套類、方法內部類、匿名內部類 。

  2. 內部類的共性

(1)、內部類仍然是一個獨立的類,在編譯之後內部類會被編譯成獨立的.class文件,但是前面冠以外部類的類名和$符號 。

(2)、內部類不能用普通的方式訪問。內部類是外部類的一個成員,因此內部類可以自由地訪問外部類的成員變數,無論是否是private的 。

(3)、內部類聲明成靜態的,就不能隨便的訪問外部類的成員變數了,此時內部類只能訪問外部類的靜態成員變數。

E. 什麼是java內部類

1、嵌套類,如Inner1,Inner2,StaticInner(靜態內部類)就是內部類:
class Outter
{
class Inner1
{
}
class Inner2
{
}
static class StaticInner
{
}
}
2、匿名內部類,如:
Thread t=new Thread(new Runnable() {
public void run() {
//
}
});
其中new Runnable() {
public void run() {
//
}
}的作用就是創建一個實現了介面Runnable的匿名內部類的實例,而最外層的{}就是這個匿名內部類的定義。

F. java內部類有哪些

共有四種內部類,分別是:
1.常規內部類
2.靜態內部類
3.局部內部類
4.匿名內部類
常規內部類:常規內部類沒有用static修飾且定義在在外部類類體中。
常規內部類中的方法可以直接使用外部類的實例變數和實例方法。在常規內部類中可以直接用內部類創建對象。
靜態內部類:與類的其他成員相似,可以用static修飾內部類,這樣的類稱為靜態內部類。靜態內部類與靜態內部方法相似,只能訪問外部類的static成員,不能直接訪問外部類的實例變數,與實例方法,只有通過對象引用才能訪問。
由於static內部類不具有任何對外部類實例的引用,因此static內部類中不能使用this關鍵字來訪問外部類中的實例成員,但是可以訪問外部類中的static成員。這與一般類的static方法相通。
局部內部類:在方法體或語句塊(包括方法、構造方法、局部塊或靜態初始化塊)內部定義的類成為局部內部類。局部內部類不能加任何訪問修飾符,因為它只對局部塊有效。
局部內部類只在方法體中有效,就想定義的局部變數一樣,在定義的方法體外不能創建局部內部類的對象
在方法內部定義類時,應注意以下問題:1.方法定義局部內部類同方法定義局部變數一樣,不能使用private、protected、public等訪問修飾說明符修飾,也不能使用static修飾,但可以使用final和 abstract修飾2.方法中的內部類可以訪問外部類成員。對於方法的參數和局部變數,必須有final修飾才可以訪問。3.static方法中定義的內部類可以訪問外部類定義的static成員
匿名內部類:定義類的最終目的是創建一個類的實例,但是如果某個類的實例只是用一次,則可以將類的定義與類的創建,放到與一起完成,或者說在定義類的同時就創建一個類。以這種方法定義的沒有名字的類成為匿名內部類。

G. Java內部類的好處

內部類隱藏你不想讓別人知道的操作。
每個內部類都能獨立的繼承一個介面的實現,所以無論外部類是否已經繼承了某個(介面的)實現,對於內部類都沒有影響。
暫時就想到兩個
如有幫助,望採納

閱讀全文

與類內類java相關的資料

熱點內容
程序員用得到數字區嗎 瀏覽:172
python求商 瀏覽:475
ipad能用c語言編譯器嗎 瀏覽:559
軟泥解壓球最新版 瀏覽:996
4萬程序員辭職創業 瀏覽:757
thinkingphp 瀏覽:595
安卓相冊移動文件夾 瀏覽:4
耳朵清潔解壓聲控99的人都睡得著 瀏覽:203
叉車出租網站源碼 瀏覽:872
共享單車的app是什麼 瀏覽:406
不帶gui的伺服器什麼意思 瀏覽:371
金剛經及PDF 瀏覽:100
php中冒號 瀏覽:356
php5432 瀏覽:350
命令在哪使用 瀏覽:170
php獲取網頁元素 瀏覽:706
為什麼需要硬體驅動編譯 瀏覽:883
pm編程怎樣看導柱孔對不對稱 瀏覽:136
農業大學選課找不到伺服器怎麼辦 瀏覽:649
路由配置網關命令 瀏覽:933