2016-04-15 120 views
0

所以我有這個類:訪問超類對象

public class ServiceClass { 

    public static Validator validator; 

    public ServiceClass() { 

     if (validator == null) validator = new Validator(); 
    } 
} 

現在我有一個擴展類:

public class Service1 extends ServiceClass { 

    public Service1() { 

     validator.init(); 
    } 
} 

這是正確的方式來訪問驗證對象?我是否必須創建超類的ans set方法?我應該使用super.validator.init(); ?

提前謝謝。

+1

因爲'validator'被聲明爲靜態的,所以如果它調用兩次'init'方法會導致麻煩,這取決於它應該做什麼。 – SomeJavaGuy

回答

0

我會使用getter和setter,因爲它們允許您比直接訪問元素更好地控制訪問方式。

除此之外,是的,這是正確的。

另外:請注意,您使用驗證器作爲「靜態」,這意味着ServiceClass或任何孩子的每個對象將共享相同的對象(他們不會有每個對象的類),所以要小心你的你這樣做。