Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从main()访问静态内部类中的私有类的方法_Java - Fatal编程技术网

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

Java 从main()访问静态内部类中的私有类的方法,java,Java,我在私有类中有一个私有方法,它驻留在static内部类中。我想从main()method访问该方法。我创造了一个愚蠢的例子来给它一个清晰的理解 public class Thanos{ public static void main(){ //get Gamora here } static class Avengers{ private class StarLord{ private void getGamora(){

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

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.");
           }
       }
   }
}
下面是我如何进入复仇者职业的,但是星主职业不允许我进入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.

谢谢

您可以使用
avengers.new StarLord()
构建
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.");
            }
        }
    }
}