创建对象时父类的中this的两种使用方式有什么区别
来源:5-7 带你揭开Flutter中的面向对象(标准构造方法、初始化列表)
慕圣9125389
2021-03-28
class Person{
String name;
int age;
class Student extends Person{
String _school;
String city;
String country;
String name;
Student(String name, int age,
this._school,{this.city=‘未知’,this.country=‘中国’})
: super(name, age){
//2
print(super.name);
}
}
void main(){
var student = Student(‘张三’,12,‘三班’);
//3
print(student.name);
}
在第一处输出为:null
第二处输出为:张三
第三处输出为:null
创建对象时父类构造函数中函数体内的this和参数中的this有什么区别呢
写回答
1回答
-
CrazyCodeBoy
2021-03-30
在Dart中:
Person(this.name,this.age) //等价于 Person(name, age)
函数体中的this表示的是当前对象本身。
注意:只有通过this.name=xxx 赋值过的变量才能通过获取到this.name值,不然获取到的是null。
022021-04-05
相似问题