java為什么要使用靜態(tài)方法 靜態(tài)類和內(nèi)部類的區(qū)別是什么?
靜態(tài)類和內(nèi)部類的區(qū)別是什么?Java語言允許在類中重新定義類。這種在其他類中定義的類稱為內(nèi)部類。有四種類型:內(nèi)部、內(nèi)部和內(nèi)部。1. 靜態(tài)內(nèi)部類定義了在類中定義的靜態(tài)內(nèi)部類。除任何方法外,靜態(tài)內(nèi)部類只能
靜態(tài)類和內(nèi)部類的區(qū)別是什么?
Java語言允許在類中重新定義類。這種在其他類中定義的類稱為內(nèi)部類。有四種類型:內(nèi)部、內(nèi)部和內(nè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)部類對(duì)象可以直接生成外部。內(nèi)部in=新外部。內(nèi)部();而不是生成外部類對(duì)象。這實(shí)際上使靜態(tài)內(nèi)部類成為頂級(jí)類。您可以定義私有靜態(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í)會(huì)受到許多限制。靜態(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)部對(duì)象時(shí),不需要外部類的對(duì)象
3。靜態(tài)內(nèi)部類示例Java在實(shí)現(xiàn)LinkedList時(shí)使用以下內(nèi)部類:public class LinkedList