我有類似如下的靜態變量測試oObject創造者
TestObjectCreator{
private static Person person;
private static Company company;
static {
person = new Person()
person.setName("Joe");
company = new Company();
company.setName("Apple");
}
public Person createTestPerson(){
return person;
}
public Person createTestCompany(){
return company;
}
}
通過應用靜態{}我是什麼獲得?我認爲這些對象是單身人士。但是,如果我做了以下操作:
Person person = TestObjectCreator.createTestPerson();
person.setName("Jill");
Person person2 = TestObjectCreator.createTestPerson();
將person2命名爲Jill或Joe?
我相信「Person person = TestObjectCreator.createTestPerson();」會導致編譯器錯誤,因爲該方法未聲明爲靜態,並且您沒有TestObjectCreator的實例。 – DJClayworth 2010-05-17 20:49:56
不正確。靜態塊在靜態方法之前執行 – 2010-05-17 23:54:43
不,編譯器錯誤。 createTestPerson()是一個實例方法。 – DJClayworth 2010-05-18 13:32:42