如何在私有类中访问私有方法?
我的代码:
public class OuterClass {
private InnerClass ic;
public OuterClass(){ //Constructor
this.ic = new InnerClass();
}
public InnerClass getInnerClass(){
return this.ic;
}
private class InnerClass {
private VeryInnerClass vic;
private void InnerClass(){
this.vic = new VeryInnerClass();
}
private void method(Object item){
//Job
}
private class VeryInnerClass {
private Object item;
private void VeryInnerClass(){
//Constructor
}
}//End VeryInnerClass
}//End InnerClass
}//End OuterClass
这是主要代码:
public class Main {
public static void main(String[] args) {
OuterClass oc = new OuterClass();
Object item = new Object();
oc.getInnerClass().method(item);
}
}
错误是OuterClass.InnerClass类型不可见,但我使用了getInnerClass()
方法,因此我不知道如何访问method(Object item)
。
答案 0 :(得分:1)
不,你不能。
private修饰符指定只能在自己的类
中访问该成员
因此,如果您想要访问私有方法,那么您应该使用public
,protected
或无修饰符来定义它们,具体取决于哪种情况更合适
在此doc
中查看更多内容答案 1 :(得分:0)
您无法直接访问该类范围之外的私有方法/私有内部类。