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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

慕村225694 2024-01-28 16:47:43
這些天我正在使用 CS61b。我被訪問控制的講座困住了。我的變量first和類IntNode上的“private”關(guān)鍵字無法正常工作。在谷歌上搜索但一無所獲。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ù)計會出現(xiàn)錯誤:first has private class in SLList,但我沒有任何錯誤。
查看完整描述

1 回答

?
郎朗坤

TA貢獻1921條經(jīng)驗 獲得超9個贊

請參閱Java 語言規(guī)范第 6.6.1 節(jié)

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

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

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

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

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

    • 訪問正確,如§6.6.2中所述。

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

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

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

(強調(diào)我的)

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


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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