所以,假设我有以下枚举声明:
public class WatchService implements Runnable
{
private State state;
private enum State
{
FINDING_MANIFEST, FINDING_FILES, SENDING_FILES, WAITING_TO_FINISH
};
// other stuff
}
现在,假设我有以下抽象类:
public abstract class MyOtherAbstractClass extends MyAbstractClass
{
// other stuff
private WatchService watchService;
// other stuff
}
现在,假设我有以下类扩展了上述抽象类:
public class MyClass extends MyOtherAbstractClass
{
// other stuff
}
如果我有多个 MyClass
实例,它们都会共享当前的 State
值吗?例如,如果一个实例声明 state = State.FINDING_MANIFEST;
,那么所有实例是否都具有 FINDING_MANIFEST
的当前状态?
我希望这是有道理的..
最佳答案
如果“状态”是静态的,那么是的。否则不行。
更改为:
private static State state;
这使得state
在类的所有实例之间共享。
关于java - 枚举值是否在类的所有实例之间共享?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5340734/