Java 从内部类更新实例变量的好做法还是坏做法
假设我在另一个类中有一个私有(内部)类Java 从内部类更新实例变量的好做法还是坏做法,java,Java,假设我在另一个类中有一个私有(内部)类子类父类: public class Parent { private boolean isBusy; private Child child = new Child(); public void doSomething() { child.playToy(); } private class Child { protected void playToy() { isBusy =
子类父类:
public class Parent {
private boolean isBusy;
private Child child = new Child();
public void doSomething() {
child.playToy();
}
private class Child {
protected void playToy() {
isBusy = true;
}
}
}
如上所述,Parent
类有一个布尔实例变量isBusy
,私有内部类Child
有一个更新该布尔值的函数playToy()。从内部类更新在上层类中定义的实例变量是一种不良做法吗?如果这是一种不好的做法,那么缺点是什么?因为它是一个私有类,并且只在外部类中实例化,所以我看不到任何缺点。这个概念实际上很常见,例如,一个内部类扩展了一个监听器,该监听器处理外部字段。因为子类是一个私有类,只能由父类实例化我看不出这样做有任何缺点
当然,如果在父实现中处理多个子
实例,则需要考虑并发性,但这取决于您所做的工作。不,没有问题。您可以根据需要更改变量的值