创建新对象丢弃旧对象

create new object discarding older

我有一个包含 class 实例的变量 var a=Objj(); 现在在做了一些事情之后我必须像这样用新对象重新启动变量a a=Objj(); 然后稍后 a=Objj();

这是一个好习惯吗? 旧对象会怎样?

在您的情况下,旧对象将替换为新实例。我建议创建一个 clear() 方法来重置实例中的数据。否则你最初的建议将取决于你想做什么。

您可以安全地将旧实例替换为新实例,并且 dart 垃圾收集器将 de-allocate 变量的内存。 或者,如果构造函数是 const 构造函数并且它是使用 const 关键字初始化的,那么在编译时如果对象相同,它们将在运行时共享一个实例。

var a = const ImmutablePoint(1, 1);
var b = const ImmutablePoint(1, 1);

assert(identical(a, b)); // They are the same instance!