簡體   English   中英

OOP-誰可以訪問公共,私有,受保護的變量?

[英]OOP - Who can access to public, private, protected variable?

我是OOP的新手。 看下面的偽代碼:

Class Test{
   public String a;
   protected String b;
   private String c;
   public void aa(){}
   protected void bb(){}
   private void cc(){}
   Class Test2{
      private void dd(){}
   }
}
Class Test3 extends Test{
   private void ee(){}
}
Class Test4{
   private void ff(){}
}

abc可以訪問aa()bb()cc()嗎? abc可以訪問類Test2dd()嗎? 是否只有ab可以訪問Test3ee() 是否只有a可以訪問Test4ff()

對於第一個問題
“ aa()是否可以訪問Test類的a,b,c” :是的,它可以訪問其外部類的成員。 Test2是一個內部類,並且內部類與其封閉類的實例相關聯,並且可以直接訪問該對象的方法和字段

第二個問題
“是的,只有a和b可以訪問Test3類” :是的,a,b可以在Test3類中進行訪問。 子類可以訪問其基類的Public和Protected成員。

對於第三
“是真的,只有a可以訪問Test4類嗎?” :是的,如果您創建Test類的對象並使用dot(。)運算符進行訪問,則只能在Test4類中訪問“ a”。

  • 私有-僅受保護的類

  • 受保護的人

  • 公開世界

您在說什么,在Java中稱為訪問修飾符 您已經提到了其中的三個,但是總共有四種類型的訪問修飾符:

  1. 私人-他們所在的類的成員對其他任何人都不可見。
  2. 保護-私有+子類別也可見。
  3. 默認-同一包中的private +其他類。
  4. 公共-對整個宇宙可見。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM