访问超类对象

时间:2016-04-15 11:20:37

标签: java class variables extends super

所以我有这个课程:

public class ServiceClass {

    public static Validator validator;

    public ServiceClass() {

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

现在我有一个扩展课程:

public class Service1 extends ServiceClass {

    public Service1() {

        validator.init();
    }
}

这是访问验证器对象的正确方法吗?我是否必须在超类上创建get ans set方法?我应该使用super.validator.init(); ?

提前谢谢你。

1 个答案:

答案 0 :(得分:0)

我会使用getter和setter,因为它们允许您比直接访问元素更好地控制访问方式。

除此之外,是的,这是正确的。

另外:请注意,您使用验证器作为“静态”,这意味着ServiceClass或任何子对象的每个对象将共享同一个对象(它们不会拥有该类的对象),所以要小心用你的所作所为。