this代表当前对象,this后面可以加:
1、属性--> this.属性: 当方法中的局部变量与成员变量名称相同时,成员变量必须用this,其它情况的this可以省略
2、方法--this.方法:静态方法中不能使用this关键字,修饰对象方法可以省略,代表调用者,主要区分继承的父类中有同名的方法
3、构造方法--方法():构造方法内部调用构造方法,直接 this() 括号中加参数即可
注意:
1、this()不能在普通方法中使用,只能在构造方法中使用
2、this()在构造方法中使用必须放在第一行 因为this()代表创建执行空间,要先使用
3、两个构造方法不能用this()相互使用
4、不能与super()同时使用
静态方法无法直接使用非静态变量--因为非静态变量在类加载之后没有空间,而静态方法在类加载之后有空间(当Test7加载的时候 静态会有空间)
非静态方法可以使用静态变量和非静态变量,(静态方法相当于先行者,无法直接使用后行者,而后行者可以使用先行者)
如果静态方法使用非静态变量:
public static void main(String[] args) {Test7 te = new Test7();System.out.println(te.name);
}
4、静态方法中无法使用this关键字,因为this属于后行者
同时this代表使用者,te调用时,代表te的属性、ta调用时代表ta的属性 这样的this可以省略