如:
public class Aaa
    extends Thread {
  public Aaa(){
    int iter=1;
  } 
}public class Bbb{
  public Queen(){
  } 
}如何在class Bbb中得到iter的值呢!我这样写
public class Aaa
    extends Thread {
  public Aaa(){
    int iter=1;
  } 
  public int getIter() {
    return iter;
  }
}public class Bbb{
  public Queen(){
  Aaa C=new Aaa();
  int iter=C.getIter();
  } 
}
怎么运行不了呢?

解决方案 »

  1.   

    变量的范围 private int iter;
     public Aaa(){
        iter=1;
      }
      

  2.   

    你这个例子中根本没有 提到 线程 啊, 
    不知道你是不是想一个线程中运行的程序都有共享一个对象实例,
    如果是这样的话可以用 public class Repositories {
      private static final ThreadLocal instances = new ThreadLocal(){
         protected Object initialValue(){
            return new Handler();
         }
      } );  public Handler getHandler(){
         return (Handler)instances.get();
      }}以后你每个线程堆栈中的方法来调用这个 getHandler(), 同一线程将得到同一个 Handler , 不同线程得到的是不同的, 因为实现中是以调用都线程作为 key , 把对象放到一个 Map 中, 如果没找到就调用 protected 方法 initialValue(); 得到一个初始值放到 Map 中并返回给调用者.这样便实现了一个线程内共享单一实例.
      

  3.   

    举例如:
    public class Aaa
        extends Thread {
      public Aaa(){
        public void run() {    
          int iter=1;
        }
      } 
    }public class Bbb{
      public Queen(){
      } 
    }
    我只是想从Bbb中得到Aaa中iter的值,请问怎样得到呢?谢谢
      

  4.   

    public class Aaa{  public Aaa(){
        iter=1;
      } 
      public int getIter() {
        return iter;
      }
    }public class Bbb{
      public Queen(){
      Aaa C=new Aaa();
      int iter=C.getIter();
      } 
    }
      

  5.   

    public class Aaa{
      int iter = 0;
      public Aaa(){
        iter=1;
      } 
      public void setIter(int iter)
      {
        this.iter = iter;
      }
      public int getIter() {
        return iter;
      }
    }public class Bbb{
      public Queen(){
      Aaa C=new Aaa();
      int iter=C.getIter();
      } 
    }