我是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(){}
}
a
,b
和c
可以访问aa()
,bb()
和cc()
吗?可以a
,b
和c
访问课程Test2
和dd()
吗?是的,只有a
和b
可以访问课程Test3
和ee()
吗?是的,只有a
可以访问课程Test4
和ff()
吗?
答案 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种类型的访问修饰符: