首先和Java相同,如果没有自己定义构造方法,那么默认有一个无参的构造方法。
不同点:dart中如果你定义了构造方法,那么无参的构造方法将会失效,而且你自己也不能实现一个无参的构造方法。
需要自己实现一个无参方法需要类名.构造方法名字 来定义,如下
class Person {
String name;
Person(String name) {
this.name = name;
}
//上面的等同于这个
// Person(this.name) ;
//再写一个会报错,因为dart不存在方法重载
// Person() {
// this.name = "李明";
// }
Person.getInstance() {
this.name = "立花";
}
void showName() {
print("名字是${this.name}");
}
}
Person person = new Person("李明");
person.showName(); //名字是李明
person = Person.getInstance();
person.showName(); //名字是立花