OOP - 谁可以访问公共,私有,受保护的变量?

时间:2014-07-19 12:07:06

标签: java oop pseudocode

我是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()吗?

3 个答案:

答案 0 :(得分:1)

对于第一个问题
" aa()可以访问类Test#34的a,b,c; :是的,它可以访问其外部类的成员。 Test2是一个内部类,内部类与其封闭类的实例相关联,并且可以直接访问该对象的方法和字段

第二个问题
"是的,只有a和b可以访问类Test3" :是a,b可以在类Test3中访问。子类可以访问其基类的Public和Protected成员。

为第三个 "只有一个人可以访问Test4类吗?" :是的,只有' a'如果您创建Test类的对象并使用点(。)运算符访问它,则可以在类Test4中访问。

答案 1 :(得分:0)

  • private - 仅限受保护的

  • 受保护的那些继承

  • 公开世界

答案 2 :(得分:0)

您正在谈论的内容在java中称为 access-modifiers 。您已经提到了其中的三种,但总共有4种类型的访问修饰符:

  1. private - 除了他们所在的班级成员之外,任何人都看不到他们。
  2. protected - private +也可以看到子类。
  3. 默认 - 私人+同一个包中的其他类。
  4. 公众 - 可见整个宇宙。