java中的this关键字
this描述的是本类结构调用的关键字,在java中this关键字可以描述三种结构的调用:
—
1、this调用本类属性
构造方法或普通方法中可通过this访问当前类的成员属性时对成员属性进行初始化。
范例:通过"this.成员属性"访问
代码登录后可见
注意:只要调用类中成员属性,都建议使用"this.成员属性"的方式来进行表示。
—
2、this调用本类方法
2.1 、调用本类普通方法
可以使用"this.方法名称()"调用,并且可以在构造方法和普通方法中使用。
范例:使用this调用本类普通方法
代码登录后可见
该程序中,由于是在本类中,所以对是否使用"this.方法()“没用明确要求,但是还是采用”this.方法()"的形势更加合理。
—
2.2、调用本类构造方法
当一个类中存在若干个构造方法时,可以利用this()的形式实现构造方法之间的互相调用。
构造方法的互相调用可以提升构造方法中执行代码的可重用性。
范例:使用this()实现本类构造方法的互相调用
代码登录后可见
注意:
1、所有类的构造方法是在对象在实例化的时候被默认调用,而且在普通方法调用之前调用,所以用this()调用构造方法的操作,一定要放在构造方法的首行。否则会报错。
2、如果一个类中存在多个构造方法,而且这些构造方法都使用了this()互相调用,那么至少保留一个构造方法没有调用其它构造方法,以作为程序的出口。
3、this表示当前对象
对于正在访问类中方法的对象就可以成为当前对象,可以用this表示。
范例:实现消息发送逻辑
代码登录后可见
本程序在Channel内部实例化了Message类对象,由于消息发送需要通过通道来实现,所以将Channel的当前对象this传递到了Message类,并利用Message.send()方法实现消息发送处理。