要实现只在父类中设置position变量,而不在每个继承的类中设置,可以使用以下方法:
下面是一个示例代码:
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变量只在父类中设置,而不需要在每个继承的子类中重复定义。
领取专属 10元无门槛券
手把手带您无忧上云