访问私人类中的私有方法

时间:2017-06-06 14:39:53

标签: java

如何在私有类中访问私有方法?

我的代码:

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)

2 个答案:

答案 0 :(得分:1)

不,你不能。

  

private修饰符指定只能在自己的类

中访问该成员

因此,如果您想要访问私有方法,那么您应该使用publicprotected无修饰符来定义它们,具体取决于哪种情况更合适

在此doc

中查看更多内容

答案 1 :(得分:0)

您无法直接访问该类范围之外的私有方法/私有内部类。