首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何才能只在其父类中设置position变量,而不是在每个继承的类中设置呢?

要实现只在父类中设置position变量,而不在每个继承的类中设置,可以使用以下方法:

  1. 在父类中定义一个私有的position变量,并提供公共的getter和setter方法来访问和修改该变量。这样,子类无法直接访问position变量,只能通过父类的方法来操作。
  2. 在父类中定义一个protected的position变量,并提供公共的getter和setter方法。这样,子类可以直接访问和修改position变量,但其他类无法访问。

下面是一个示例代码:

代码语言:txt
复制
public class ParentClass {
    private int position;

    public int getPosition() {
        return position;
    }

    public void setPosition(int position) {
        this.position = position;
    }
}

public class ChildClass extends ParentClass {
    // 子类继承父类,可以直接访问和修改position变量
}

public class OtherClass {
    public void someMethod() {
        ChildClass child = new ChildClass();
        // 无法直接访问和修改position变量
        // child.position = 10; // 错误!无法访问私有变量
        // int pos = child.position; // 错误!无法访问私有变量

        // 只能通过父类的方法来操作position变量
        child.setPosition(10);
        int pos = child.getPosition();
    }
}

在这个示例中,只有父类ParentClass中定义了position变量,并提供了公共的getter和setter方法。子类ChildClass可以直接访问和修改position变量,而其他类OtherClass无法直接访问position变量,只能通过父类的方法来操作。

这种方式可以确保position变量只在父类中设置,而不需要在每个继承的子类中重复定义。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券