看下Activity的类继承结构知道Activity是Context类的子类。 new TextView(Context context) ,构造函数需要传递一个Context的对象,所以在Activity中用this代表Activity实例,以子类传递替代父类是正确的。 当然你也传参进去任何一个Context类的子类,例如Application
亲,想要研究懂this,还是看下thinking in java吧,this我自己觉得应该相当于指针,指向这个activity,虽然这个类里面没有构造函数,public void activity(){this=activity.this;}但是他的父类context里面有,这是被封装的,所以你看不到,,,
但是在API里面找不到他父类的构造函数啊
这里的this指第一种:①指代对象本身,及语法格式就是 this 因为Activity是间接继承自Context类,new TextView(Context context),需要一个Context类型对象。 而子类Activity转父类Context表示毫无压力。
new TextView(Context context) ,构造函数需要传递一个Context的对象,所以在Activity中用this代表Activity实例,以子类传递替代父类是正确的。 当然你也传参进去任何一个Context类的子类,例如Application
因为Activity是间接继承自Context类,new TextView(Context context),需要一个Context类型对象。
而子类Activity转父类Context表示毫无压力。