如果某个类生成的对象是不可变的,这个对象会被编译为运行时常量( 具备较高的运行效率 )。我们可以通过常量构造函数来构造一个对象性。
1 使用 final 关键字指定属性为常量属性;
2 使用 const 关键字声明构造函数为常量构造函数;
3 在实例化对象时,在类名称前面加上 const 关键字;
class Person {
final String name;
final int age;
const Person({required this.name, required this.age});
void Say() {
print("My name is ${this.name} and I am ${this.age} years old.");
}
}
void main(List<String> args) {
Person person1 = const Person(name: "lesscode", age: 20);
Person person2 = const Person(name: "lesscode", age: 20);
print(person1 == person2);
}
常量构造函数默认会被当做普通构造函数使用,所以要构造一个常量对象需要在类名称前加上 const 关键字。