第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

java中的靜態(tài)嵌套類

java中的靜態(tài)嵌套類

qq_笑_17 2022-06-23 20:23:46
public class LinkedList {     Node head; // head of list     // Linked list Node.     // This inner class is made static     // so that main() can access it      static class Node {         int data;         Node next;         // Constructor         Node(int d)         {             data = d;             next = null;         }     } }我讀到了靜態(tài)內(nèi)部類,它就像普通類。在這我不明白在聲明靜態(tài)內(nèi)部類之前如何調(diào)用節(jié)點(diǎn)頭?靜態(tài)內(nèi)部類是否因?yàn)橥獠款愒诼暶鲀?nèi)部類之前就知道內(nèi)部類而首先編譯?
查看完整描述

3 回答

?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

正如Java編譯中提到的:

在 Java 中,如果您使用了對(duì)任何其他 java 對(duì)象的任何引用,那么該對(duì)象的類將被自動(dòng)編譯(如果尚未編譯)。這些自動(dòng)編譯是嵌套的,并一直持續(xù)到編譯運(yùn)行程序所需的所有類為止。所以通常只編譯高級(jí)類就足夠了,因?yàn)樗幸蕾嚨念惗紩?huì)被自動(dòng)編譯。

所以,總的來說你是對(duì)的。

使用嵌套類的原因是什么?嵌套類Oracle教程說:

使用嵌套類的令人信服的原因包括:

這是一種對(duì)僅在一個(gè)地方使用的類進(jìn)行邏輯分組的方法:如果一個(gè)類僅對(duì)另一個(gè)類有用,那么將其嵌入該類并將兩者放在一起是合乎邏輯的。嵌套這樣的“幫助類”使它們的包更加精簡。

它增加了封裝性:考慮兩個(gè)頂級(jí)類 A 和 B,其中 B 需要訪問 A 的成員,否則這些成員將被聲明為私有。通過將類 B 隱藏在類 A 中,可以將 A 的成員聲明為私有的,并且 B 可以訪問它們。此外,B 本身可以對(duì)外界隱藏。

它可以導(dǎo)致代碼更易讀和更可維護(hù):在頂級(jí)類中嵌套小類可以使代碼更接近使用它的位置。

這適用于所有嵌套類,包括靜態(tài)類。


查看完整回答
反對(duì) 回復(fù) 2022-06-23
?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

類的靜態(tài)組件總是在類的實(shí)例組件之前編譯。如您所想,編譯從上到下進(jìn)行,但針對(duì)不同類型的組件(靜態(tài)塊、常量、實(shí)例變量、構(gòu)造函數(shù)......)進(jìn)行多次

這個(gè)答案給出了另一個(gè)很好的例子:explain java compile order


查看完整回答
反對(duì) 回復(fù) 2022-06-23
?
慕標(biāo)5832272

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊

您正在聲明 Node 類型的變量(未調(diào)用),然后編譯器查找 Node 類型。當(dāng)您將 Node 定義為靜態(tài)內(nèi)部類(或內(nèi)部類)時(shí),編譯器就會(huì)知道節(jié)點(diǎn)的真正含義。java 類中成員的順序無關(guān)緊要。



查看完整回答
反對(duì) 回復(fù) 2022-06-23
  • 3 回答
  • 0 關(guān)注
  • 146 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)