public class PersistentAnimation implements Serializable, Runnable
{
private Thread animator;
private int animationSpeed;
public PersistentAnimation(int animationSpeed)
{
this.animationSpeed = animationSpeed;
animator = new Thread(this);
}
public void run()
{
while(true)
{
// do animation here
}
Run Code Online (Sandbox Code Playgroud)
此处的动画师是否未标记为瞬态?它会继续存在吗?
否,因为Thread不实现该Serializable接口。尝试序列化此类的实例时,将有一个异常。
直接来自Serializable的javadoc:
遍历图形时,可能会遇到不支持Serializable接口的对象。在这种情况下,将抛出NotSerializableException并标识不可序列化对象的类。