访问超级 class 对象

Accessing super class object

所以我有这个 class:

public class ServiceClass {

    public static Validator validator;

    public ServiceClass() {

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

现在我有一个扩展 class:

public class Service1 extends ServiceClass {

    public Service1() {

        validator.init();
    }
}

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

提前谢谢你。

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

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

此外:请注意,您将验证器用作 "static",这意味着 ServiceClass 或任何 child 中的每个 object 将共享相同的 object(他们不会每个 object class),所以要小心你用那个做什么。