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

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

為什么我的 var“first” 上的“private”關(guān)鍵字不起作用?

為什么我的 var“first” 上的“private”關(guān)鍵字不起作用?

慕村225694 2024-01-28 16:47:43
這些天我正在使用 CS61b。我被訪問(wèn)控制的講座困住了。我的變量first和類(lèi)IntNode上的“private”關(guān)鍵字無(wú)法正常工作。在谷歌上搜索但一無(wú)所獲。public class SLList {    private IntNode first;    /**     * If the nested class never uses any instance variables or methods of the outer     * class, declare it static.     */    private static class IntNode {        public IntNode next;        public int item;        public IntNode(int i, IntNode n) {            next = n;            item = i;        }    }    public SLList(int x) {        first = new IntNode(x, null);    }    public void addFirst(int x) {        first = new IntNode(x, first);    }    public int getFirst() {        return first.item;    }/** ----------------SIZE---------------------- */    private int size(IntNode L) {        if (L.next == null) {            return 1;        }        return 1 + size(L.next);    }    public int size() {        return size(first);    }/**-------------------SIZE------------------- *//**---------------add LAST ------------------*//** how to solve null pointer expectation? */    public void addLast(int x) {        IntNode p=first;        while(p.next!=null){            p=p.next;        }        p.next=new IntNode(x, null);    }/**---------------add LAST ------------------*/    public static void main(String[] args) {        SLList L = new SLList(5);        L.addFirst(10);        L.addFirst(15);        System.out.println(L.getFirst());        System.out.println(L.size());        L.addLast(20);        L.first.next.next = L.first.next;  /** <----- I can still get√ access to first. */    }}我預(yù)計(jì)會(huì)出現(xiàn)錯(cuò)誤:first has private class in SLList,但我沒(méi)有任何錯(cuò)誤。
查看完整描述

1 回答

?
郎朗坤

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

請(qǐng)參閱Java 語(yǔ)言規(guī)范第 6.6.1 節(jié)

僅當(dāng)類(lèi)型可訪問(wèn)并且聲明成員或構(gòu)造函數(shù)允許訪問(wèn)時(shí),引用類(lèi)型的成員(類(lèi)、接口、字段或方法)或類(lèi)類(lèi)型的構(gòu)造函數(shù)才可訪問(wèn):

  • 如果成員或構(gòu)造函數(shù)被聲明為公共,則允許訪問(wèn)。

  • 缺少訪問(wèn)修飾符的接口的所有成員都是隱式公共的。

  • 否則,如果成員或構(gòu)造函數(shù)被聲明為受保護(hù),則僅當(dāng)滿(mǎn)足以下條件之一時(shí)才允許訪問(wèn):

    • 對(duì)成員或構(gòu)造函數(shù)的訪問(wèn)發(fā)生在包含聲明受保護(hù)成員或構(gòu)造函數(shù)的類(lèi)的包內(nèi)。

    • 訪問(wèn)正確,如§6.6.2中所述。

  • 否則,如果使用包訪問(wèn)來(lái)聲明成員或構(gòu)造函數(shù),則僅當(dāng)訪問(wèn)發(fā)生在聲明該類(lèi)型的包內(nèi)時(shí)才允許訪問(wèn)。

    沒(méi)有訪問(wèn)修飾符聲明的類(lèi)成員或構(gòu)造函數(shù)隱式具有包訪問(wèn)權(quán)限。

  • 否則,成員或構(gòu)造函數(shù)被聲明為 private,并且當(dāng)且僅當(dāng)訪問(wèn)發(fā)生在包含成員或構(gòu)造函數(shù)聲明的頂級(jí)類(lèi)型(第 7.6 節(jié))的主體內(nèi)時(shí),才允許訪問(wèn)。

(強(qiáng)調(diào)我的)

由于您的訪問(wèn)first位于同一頂級(jí)類(lèi)型內(nèi),因此您可以毫無(wú)問(wèn)題、錯(cuò)誤或任何其他情況地訪問(wèn)它。


查看完整回答
反對(duì) 回復(fù) 2024-01-28
  • 1 回答
  • 0 關(guān)注
  • 149 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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