java中有内嵌的类,它相当于一个private,外部的类只能访问他的public类型
其他的类无法访问他的任意类型!
它可以调用它的外部类的方法,变量!

解决方案 »

  1.   

    有呀,并且可以调用外部变量,给个简单例子你吧
    interface Selector {
      boolean end();
      Object current();
      void next();
    }public class Sequence {
      private Object[] obs;
      private int next = 0;
      public Sequence(int size) {
        obs = new Object[size];
      }
      public void add(Object x) {
        if(next < obs.length) {
          obs[next] = x;
          next++;
        }
      }
      private class SSelector implements Selector {
        int i = 0;
        public boolean end() {
          return i == obs.length;
        }
        public Object current() {
          return obs[i];
        }
        public void next() {
          if(i < obs.length) i++;
        }
      }
      public Selector getSelector() {
        return new SSelector();
      }
      public static void main(String[] args) {
        Sequence s = new Sequence(10);
        for(int i = 0; i < 10; i++)
          s.add(Integer.toString(i));
        Selector sl = s.getSelector();    
        while(!sl.end()) {
          System.out.println(sl.current());
          sl.next();
        }
      }
    } ///:~