从其他方法访问对象

时间:2012-08-28 15:15:33

标签: java object instantiation

如何在另一种方法中访问在构造函数中实例化的对象? (例如下面的对象b)实例化这个对象的最佳方法是什么,这样我的所有类方法都可以访问同一个对象?

public class ClassA{ 
  private final int size;       

  public ClassA(int N){
      size = N;    
      ClassB b = new ClassB(size);
  }

  public void doSomething(){
      b.doSomething();        
  }      
}

4 个答案:

答案 0 :(得分:5)

您只需将其分配到字段:

public class ClassA{ 
  private final int size;       
  private final ClassB b;

  public ClassA(int N){
    size = N;    
    b = new ClassB(size);
  }

  public void doSomething(){
    b.doSomething();        
  }      
}

答案 1 :(得分:2)

将ClassB b定义为实例变量。

public class ClassA{ 
  private final int size;       
 ClassB b;
  public ClassA(int N){
  size = N;    

  b = new ClassB(size);
  }

  public void doSomething(){
  b.doSomething();        
  }      
}

答案 2 :(得分:2)

将其声明为字段,就像使用size

一样
public class ClassA{ 
  private final int size;   
  private final ClassB b;    

  public ClassA(int N){
    size = N;    

    b = new ClassB(size);
  }

  public void doSomething(){
    b.doSomething();        
  }      
}

答案 3 :(得分:2)

你可以简单地创建一个B类型的属性/字段

public class ClassA{ 
  private final int size;       
  private B bInstance;

  public ClassA(int N){
  size = N;    

  bInstance = new ClassB(size);
  }

  public void doSomething(){
  b.doSomething();        
  }      
}