java靜態(tài)內(nèi)部類實(shí)例化 內(nèi)部類的意義及應(yīng)用?
內(nèi)部類的意義及應(yīng)用?靜態(tài)內(nèi)部類靜態(tài)內(nèi)部類是聲明為靜態(tài)的內(nèi)部類。它可以在不依賴內(nèi)部類的情況下實(shí)例化。通常,內(nèi)部類需要實(shí)例化外部類。靜態(tài)內(nèi)部類不能與外部類具有相同的類名。靜態(tài)類和內(nèi)部類的區(qū)別是什么?Jav
內(nèi)部類的意義及應(yīng)用?
靜態(tài)內(nèi)部類靜態(tài)內(nèi)部類是聲明為靜態(tài)的內(nèi)部類。它可以在不依賴內(nèi)部類的情況下實(shí)例化。通常,內(nèi)部類需要實(shí)例化外部類。靜態(tài)內(nèi)部類不能與外部類具有相同的類名。
靜態(tài)類和內(nèi)部類的區(qū)別是什么?
Java語言允許在類中重新定義類。這種在其他類中定義的類稱為內(nèi)部類。內(nèi)部類有四種:正則內(nèi)部類、局部內(nèi)部類、匿名內(nèi)部類和靜態(tài)嵌套類。
1. 靜態(tài)內(nèi)部類定義了在類中定義的靜態(tài)內(nèi)部類。除任何方法外,靜態(tài)內(nèi)部類只能訪問外部類的靜態(tài)成員。生成(新的)靜態(tài)內(nèi)部類不需要外部類成員:這就是靜態(tài)內(nèi)部類和成員內(nèi)部類之間的區(qū)別。靜態(tài)內(nèi)部類對象可以直接生成外部。內(nèi)部in=新外部。內(nèi)部();而不是生成外部類對象。這實(shí)際上使靜態(tài)內(nèi)部類成為頂級類。您可以定義私有靜態(tài)內(nèi)部類。
2. Java實(shí)現(xiàn)的靜態(tài)內(nèi)部類說明,將內(nèi)部類定義為靜態(tài)類與將其他類定義為靜態(tài)類基本相同,引用規(guī)則也基本相同。但具體細(xì)節(jié)還是大不相同。具體來說,要注意以下幾個(gè)方面。1) 通常,如果內(nèi)部類沒有定義為靜態(tài)內(nèi)部類,則在定義成員變量或成員方法時(shí),不能將其定義為靜態(tài)成員變量和靜態(tài)成員方法。換句話說,不能在非靜態(tài)內(nèi)部類中聲明靜態(tài)成員。2) 一般來說,非靜態(tài)外部類可以自由訪問其外部類的成員變量和方法(包括聲明為private的方法),但如果內(nèi)部類聲明為靜態(tài),則在訪問自己的外部類時(shí)會受到許多限制。靜態(tài)內(nèi)部類無法訪問其外部類的非靜態(tài)成員變量和方法。3) 在類中創(chuàng)建非靜態(tài)成員內(nèi)部類時(shí),有一個(gè)強(qiáng)制規(guī)則,即內(nèi)部類的實(shí)例必須綁定到外部類的實(shí)例。然后,要在外部類中定義靜態(tài)內(nèi)部類,不需要使用關(guān)鍵字new來創(chuàng)建內(nèi)部類的實(shí)例。也就是說,創(chuàng)建靜態(tài)類內(nèi)部對象時(shí),不需要外部類的對象
3。靜態(tài)內(nèi)部類示例Java在實(shí)現(xiàn)LinkedList時(shí)使用以下內(nèi)部類:public class LinkedList