Java如何访问一个类中的一个类

Ste*_*ven 1 java class

这基本上是我所拥有的:

public class Game extends Activity{
    public class Work{
        public class Shuffle{
            *Class I need to access*
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我将访问 Shuffle 的类:

public class Deck extends Game {
    public int shuffle() {
        //WHAT DO I NEED TO DECLARE HERE IN ORDER TO ACCESS Shuffle.getShuffle()?
        int[] shuffDeck = (MY SHUFFLE CLASS).getShuffle();
        int x = shuffDeck[i];
        String y = String.valueOf(x);
        i += 1;

        return x;
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要声明什么才能在我的 Deck 类中访问 Shuffle.getShuffle()?

Kum*_*tra 5

现在采用2种类型的嵌套类:

1. Inner Classes(非静态)

2. Top Level Classes(静态)

- Inner Clas s(非静态)对其 Outer Class(封闭类)有一个隐式引用。要从外部访问内部类,您需要使用外部类对象访问它

例如:

 public class Outer{


     class Inner{


     }

 }


public class Test{


   public static void main(String[] args){

         Outer o = new Outer();
         Outer.Inner i = o.new Inner();

    }
} 
Run Code Online (Sandbox Code Playgroud)

- A Top-Level Class(静态)就像外部中的一个单独的类。 Top-level需要创建外部类的一个对象来访问它的非静态成员,但它可以访问Static methods and Static variables直接外部类的。

例如:

public class Outer{


         class Inner{


         }

     }


    public class Test{


       public static void main(String[] args){


             Outer.Inner i = new Outer.Inner();

        }
    } 
Run Code Online (Sandbox Code Playgroud)