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