2012-08-28 139 views
0

如何訪問在另一個方法中在構造函數中實例化的對象? (例如下面的對象b)實例化這個對象的最好方法是什麼,以便我的所有類方法都可以訪問同一個對象?從其他方法訪問對象

public class ClassA{ 
    private final int size;  

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

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

回答

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();   
    }  
} 
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

聲明它作爲一個字段,就像你與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();   
    }  
} 
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();   
    }  
} 
相關問題