- 相關推薦
Java語言的內(nèi)部類
導語:內(nèi)部類可以保證java程序的完整性和隱秘性。以下是小編為大家整理的Java語言的內(nèi)部類,僅供參考,歡迎大家閱讀。
(1)把一個類定義在某個類中的,這個類就被稱為
內(nèi)部類,內(nèi)置類,嵌套類。
(2)訪問特點:
A:內(nèi)部類可以直接訪問外部類中的成員,因為內(nèi)部類持有外部類的引用,
格式為:外部類名.this
B:外部類要想訪問內(nèi)部類的成員,必須創(chuàng)建對象訪問。
(3)內(nèi)部類的訪問格式:
A:當內(nèi)部類定義在外部類的成員位置,而且非私有,則可以在其他外部類中直接建立內(nèi)部類對象
格式:外部類名.內(nèi)部類名 變量名 = new 外部類對象.內(nèi)部類對象
如:Outer.Inner in = new Outer().new Inner()
B:當內(nèi)部類在外部類成員位置,且被static修飾時
**外部其他類可直接訪問靜態(tài)內(nèi)部類的非靜態(tài)成員
格式:new 外部類名.內(nèi)部類名().內(nèi)部類成員
如:new Outer.Inner().function();
**外部其他類可直接訪問靜態(tài)內(nèi)部類的靜態(tài)成員
格式:new 外部類名.內(nèi)部類名.內(nèi)部類成員
如:new Outer.Inner.function();
(4)什么使用時候內(nèi)部類呢?
假如有A類和B類,A類想直接訪問B類的成員,B類訪問A類成員的時候,
需要創(chuàng)建A類對象進行訪問,這個時候,就可以把A類定義為B類的內(nèi)部類。
(5)內(nèi)部類的位置
A:成員位置
**可以被private修飾(Body,Heart)
**可以被static修飾。(它訪問的外部類的成員必須是靜態(tài)的)
B:局部位置
**可以直接訪問外部類中的成員,因為還持有外部類的持用
也可以直接訪問局部成員,但是局部成員要用final修飾。
注意:局部內(nèi)部類不能用private和static修飾
(6)通過class文件我們就可以區(qū)分是否帶有內(nèi)部類,以及內(nèi)部類的位置
Outer$Inner:成員內(nèi)部類
Outer$1Inner:局部內(nèi)部類
Java語言優(yōu)點
Java語言最大的優(yōu)點是它的跨平臺性。一次編寫,到處運行。能始終如一的在任何平臺上運行,使得系統(tǒng)的移植、平臺的遷移變得十分容易。其他優(yōu)點如下。
簡單易學:Java語言的語法與C語言和C++語言很接近,使得大多數(shù)程序員很容易學習和使用Java。另一方面,Java丟棄了C++中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔憂,是很容易學習的。
面向?qū)ο螅篔ava語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機制(關鍵字為implement)。Java語言全面支持動態(tài)綁定,而C++語言只對虛函數(shù)使用動態(tài)綁定?傊琂ava語言是一個純的面向?qū)ο蟪绦蛟O計語言。
安全性:Java語言不支持指針,只有通過對象的實例才能訪問內(nèi)存,使應用更加安全。
可移植性:這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSIC實現(xiàn)的。
對對象技術(shù)的全面支持和平臺內(nèi)嵌的API使得Java應用具有無比的健壯性和可靠性,這也減少了應用系統(tǒng)的維護費用。
【Java語言的內(nèi)部類】相關文章:
Java內(nèi)部類詳解及實例分析06-25
Java的內(nèi)部類與類的加載器06-24
講解Java中如何構(gòu)造內(nèi)部類對象及訪問對象07-24
Java語言的應用03-26
Java語言的概述03-15
Java語言的規(guī)則06-03
Java語言的特點07-16