对不起,我不能给出更好的标题。我有A类和B类两个.A类是单例类。它总是给想要的对象一个对象.B类总是想要A对象的防御。检查遵循的代码
class B
{
private A a;
B(){
this.a=A.getAObject();
}
public void process(String[] args)
{
a.sendData();//line 1
(or)
A.getAObject().sendData();//line 2
}
}
这是上述第1行或第2行在性能方面的最佳方式?
答案 0 :(得分:1)
在许多情况下,差异并不明显。
但是在某些情况下,您必须创建许多B
实例。因此,在这些情况下会对性能产生影响,因为将文件引入该类意味着在创建实例时占用更多内存。
如果不是这种情况,我认为最好将其分配给变量,因为如果您经常在类中使用该实例,它将提高代码的可读性。
答案 1 :(得分:1)
您可以通过引用另一类来引用另一类
在您的代码中,您将执行以下操作:
class B {
private A a;
B(A a){
this.a=a; //refernce of a
}
public void display(){
a.getA(); //display method of a
}
}
class A{
public void getA(){
....
}
}