this的用法
1、表示类的成员变量,而非函数参数(注意在函数参数和成员变量同名是进行区分)
例:
class Demo{
int age = 18;
void print(int age){
.out.(“打印类成员变量age=” + this.age);
.out.(“打印函数参数变量age=” + age);
void main( []args){
Demo Myage = new Demo();
Myage.print(28);
运行结果:
D:>javac Demo.java
D:>java Demo
打印类成员变量age=18
打印函数参数变量age=28
可见,打印出来的类成员变量为18,为在开始定义的,打印出的函数参数变量为28,为后来传参的。
2.表示返回自身这个对象。
例:
class Demo{
int age;
Demo (){
age++;
this;
void print(){
.out.(“age=” + age);
void main( []args){
Demo Myage = new Demo();
Myage.().().().print();
运行结果:
D:>java Demo.java
D:>java Demo
age=3
可见返回值为3,年龄自增三次。
3.一个类中定义两个构造函数,在一个构造函数中通过 this 这个引用来调用另一个构造函数。
class {
运行结果:
D:>java .java
D:>java
最终的名字=Mick
最终的年龄=21
总结一下,this主要要三种用法:
1、表示对当前对象的引用!
2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。
3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
还有就是注意:this不能用在方法中!所以甚至有人给方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在方法中使用!
说明在什么情况下需要用到this:
第一、通过this调用另一个构造方法,用发是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。
第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this,用了也不为错。
第三、在函数中,需要引用该函所属类的当前对象时候,直接用this。
———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666