从main()访问静态内部类中私有类的方法

时间:2018-05-12 08:18:13

标签: java

我在私有类中有一个私有方法,它驻留在static内部类中。我想从main()方法访问该方法。我创造了一个愚蠢的例子,让它清楚地理解。

public class Thanos{
   public static void main(){
       //get Gamora here
   }
   static class Avengers{
       private class StarLord{
           private void getGamora(){
               System.out.println("Access me to get a soul for a soul.");
           }
       }
   }
}

以下是我进入 Avengers 课程的方法,但课程 StarLord 不允许我访问 getGamora 方法

//inside main() method
Avengers avngrs= new Thanos.Avengers();
//here create instance of StarLord class

Thanos 类的唯一目的是将 getGamora 方法的灵魂字符串作为输出。

输出

Access me to get a soul for a soul.

感谢!!!

1 个答案:

答案 0 :(得分:1)

您可以使用StarLord构建avengers.new StarLord(),如下所示:

public class Thanos{
    public static void main(String[] args){
        Avengers avengers = new Thanos.Avengers();
        Avengers.StarLord starLord = avengers.new StarLord();
        starLord.getGamora();
    }
    static class Avengers{
        private class StarLord{
            private void getGamora(){
                System.out.println("Access me to get a soul for a soul.");
            }
        }
    }
}