如何在另一种方法中访问在构造函数中实例化的对象? (例如下面的对象b)实例化这个对象的最佳方法是什么,这样我的所有类方法都可以访问同一个对象?
public class ClassA{
private final int size;
public ClassA(int N){
size = N;
ClassB b = new ClassB(size);
}
public void doSomething(){
b.doSomething();
}
}
答案 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();
}
}