我有一个User(父母)和一个Task(孩子)。我需要每个任务中都有一个用户实例,并且希望该任务在用户中可用。
版本1和版本2有什么区别吗?
我应该更喜欢哪个版本?
版本1:
public class User {
// does this creates a new Task on each field access?
private Task task = new Task(this);
public void runTask() {
task.run();
}
}
版本2:
public class User {
private Task task;
public getTask() {
if(task == null) {
task = new Task(this);
}
return task;
}
public void runTask() {
task.run();
}
}
我想,第一个版本会进行急切的初始化,并且与执行此操作相同:
版本3
public class User {
public User(){
// I need the user instance to put into the task, but this is null here..
this.task = new Task(this);
}
private Task task;
}
我想要实现的是:
我有很多方法,User.java并且想将这些方法外包给一个新类Task.java(与其用户相关)。
暮色呼如
达令说
翻过高山走不出你
相关分类