海淀网站建设联系方式,网站建设引擎,微墨小程序制作平台,平面设计视频作用#xff1a;出现在成员方法#xff0c;构造器中代表当前对象的地址#xff0c;用于访问当前对象的成员变量、成员方法。this出现在 有参数构造器 中的用法 #xff08;this.成员变量 局部变量#xff09;this出现在 成员方法 中的用法 #xff08;this… 作用出现在成员方法构造器中代表当前对象的地址用于访问当前对象的成员变量、成员方法。this出现在 有参数构造器 中的用法 this.成员变量 局部变量this出现在 成员方法 中的用法 this.成员变量 指明此时的变量是成员变量 1、this关键字的作用 代表当前对象的地址可以区别 成员变量 和 局部变量this修饰的变量用于指代成员变量方法的形参如果与成员变量同名不带this修饰的变量指的是形参而不是成员变量方法的形参没有与成员变量同名不带this修饰的变量指的是成员变量 2、this关键字在构造器中、成员方法中可以做什么 可以用于访问当前对象的成员变量 3、this的本质 代表 所在 方法 调用者 的 地址值代表所在类的对象引用方法被哪个对象调用this就代表哪个对象 4、什么时候使用this呢 解决局部变量隐藏成员变量 5、在本类的成员方法中访问本类的成员变量 public class Fu {int num 30;
}
class Zi extends Fu {int num 20;public void showNum() {int num 10;System.out.println(num);//局部变量 10System.out.println(this.num);//本类中的成员变量 20System.out.println(super.num);//父类中的成员变量 30}public static void main(String[] args) {new Zi().showNum();}
}6、在本类的成员方法中访问本类的另一个成员方法 public class Fu {}
class Zi extends Fu {public void methodA() {System.out.println(AAA);}public void methodB() {methodA();this.methodA();//this可以省略System.out.println(BBB);}
}7、在本类的构造方法中访问本类的另一个构造方法 this. . .调用也必须是构造方法的第一个语句唯一一个this. . .语句必须在构造器的首行第一行Call to this() must be first statement in constructor bodysuper 和 this 两种构造调用不能同时使用 public class Fu {public Fu() {System.out.println(super过来的);}
}
class Zi extends Fu {public Zi() {this(12);//本类的无参构造调用本类的有参构造}public Zi(int n) {this(1, 2);}public Zi(int n, int m) {
// super(); 省略不写默认赠送}
}在继承关系中如果new的是子类对象无论是多态还是 Son son new Son()this在父类构造器中指代的都是子类对象因为 new Son而不是父类对象所以调用的是子类重写的print方法但是如果 this.x 调用的就是父类的属性 x这里调用方法和属性的规律就相当于多态的调用规则如果子类有重写的方法就调用子类重写的如果没有重写还是会调用父类的方法在继承关系中如果new的是子类对象无论是多态还是 Son son new Son()this在父类构造器中指代的都是子类对象因为 new Son而不是父类对象但是调用属性this.x都是调用父类的属性而不是子类的相当于多态调用属性的规则