this关键字
this 是 Java 的一个关键字,表示某个对象
this 可以出现在构造方法、实例方法中,但不可以出现在类方法中
- 出现在构造方法中,代表使用该构造方法创建的对象
- 出现在实例方法中,代表正在调用该方法的当前对象
一、构造方法中调用构造方法,不能形成环路
public class A {public A() {// this(); // 递归调用(自己调自己)形成环路// 标红报错 Recursive constructor invocationthis(10); // 无参调用一参System.out.println("无参构造器执行...");}public A(int a) {this(10, 10); // 一参调用二参System.out.println("一参构造器执行...");}public A(int a, int b) {// this(); // Recursive constructor invocation System.out.println("二参构造器执行...");}
}
二、实例方法中操作成员变量,调用成员方法
默认格式:this.实例成员、类名.静态成员
通常情况下,可以省略实例成员前的 “this” 和静态成员前的 “类名”
局部变量和成员变量重名,变量前面的 “this” 或 “类名” 就不能省略
public class Demo {private String music = "花香-周传雄"; // 实例变量 音乐private static String motion = "跑步"; // 静态变量 运动public void action() {String music = "黄昏-周传雄";String motion = "跳操"; System.out.println(music); // 黄昏-周传雄System.out.println(this.music); // 花香-周传雄System.out.println(motion); // 跳操System.out.println(Demo.motion); // 跑步study();eat();}public static void eat() { // 静态方法System.out.println("eating...");}public void study() { // 实例方法System.out.println("programming...");}
}